2004-10-27 Sven Neumann <sven@gimp.org>
* tools/pdbgen/enumcode.pl: fixed loop control in
_gimp_enums_init(). This caused all plug-ins to crash immidiately.
You will need to make sure that libgimp/gimpenums.c.tail is
recreated and appended to libgimp/gimpenums.c
2004-10-27 Michael Natterer <mitch@gimp.org>
* app/core/gimp-transform-utils.[ch]. switch from x1,y1,x2,y2
bounding boxes to x,y,width,height ones. Added
gimp_transform_matrix_flip_free(). Renamed some parameters to be
consistent with others. Some internal cleanup.
* app/tools/gimpperspectivetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c
* tools/pdbgen/pdb/drawable_transform.pdb
* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.
* tools/pdbgen/pdb/drawable_transform.pdb
* tools/pdbgen/pdb/transform_tools.pdb: guard all transform
wrappers with if(gimp_drawable_mask_intersect(...)), also the
ones which don't need the returned bounding box.
* tools/pdbgen/pdb/drawable_transform.pdb: renamed some parameters
and added gimp_drawable_transform_matrix() which takes the 9
coefficients of a 3x3 matrix for ultimate flexibility ;)
* app/pdb/drawable_transform_cmds.c
* app/pdb/internal_procs.c
* app/pdb/transform_tools_cmds.c
* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
2004-10-26 Manish Singh <yosh@gimp.org>
* tools/pdbgen/pdb/drawable_transform.pdb: removed abuse of init,
called pdb_misc in all procedures.
* app/pdb/transform_tools_cmds.c
* libgimp/gimpdrawabletransform_pdb.c: regenerated.
2004-10-26 Sven Neumann <sven@gimp.org>
Added new drawable transform API to the PDB. Largely based on
patches from Joao S. O. Bueno. Fixes bug #137053.
* app/core/gimpdrawable-transform.[ch]: added missing parameters
to gimp_drawable_transform_flip().
* tools/pdbgen/pdb/transform_tools.pdb: changed accordinly.
* app/base/base-enums.h
* app/core/core-enums.h: removed pdp-skip for GimpInterpolationType
and GimpTransformDirection enums.
* libgimp/gimpenums.h
* plug-ins/pygimp/gimpenums.py
* tools/pdbgen/enums.pl
* tools/pdbgen/groups.pl: regenerated.
* tools/pdbgen/Makefile.am
* tools/pdbgen/pdb/drawable_transform.pdb: added new file defining
the new PDB calls.
* app/pdb/Makefile.am
* app/pdb/drawable_transform_cmds.c
* app/pdb/internal_procs.c
* app/pdb/transform_tools_cmds.c
* libgimp/gimp_pdb.h
* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
2004-10-25 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpbaseenums.[ch]: register some missing enums.
* tools/pdbgen/enumcode.pl: removed code to generate
plug-ins/script-fu/script-fu-constants.c, generate code to
explicitely initialize and query all of libgimp*'s enums
and write it to libgimp/gimpenums.c.tail
* libgimp/gimpenums.h: regenerated.
* libgimp/Makefile.am: append gimpenums.c.tail to gimpenums.c
* libgimp/gimp.c (gimp_main): call g_type_init() and
_gimp_enums_init().
* libgimp/gimp.def: added gimp_enums_get_type_names().
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/script-fu-constants.[ch]: removed these files.
* plug-ins/script-fu/siod-wrapper.c: dynamically register all
constants using gimp_enums_get_type_names() and introspection.
Also register the built-in unit types.
* plug-ins/script-fu/script-fu.c: changed accordingly.
2004-10-25 Michael Natterer <mitch@gimp.org>
Don't store human readable and translatable enum/flag strings in
GEnumValue's and GTypeValue's fields but attach them to their
GType using separate structs and utility functions:
* tools/gimp-mkenums: added params and perl voodoo to support
generating a second array of values, which is used by the
Makefiles below to create and register arrays of value
descriptions.
* libgimpbase/gimpbasetypes.[ch]: added API to attach/retreive
arrays of translatable strings to/from enum and flags types. Added
structs GimpEnumDesc and GimpFlagsDesc for that purpose.
* libgimpbase/gimputils.[ch]: changed existing enum utility
functions, added new ones and added a symmetric API for flags.
* app/base/Makefile.am
* app/core/Makefile.am
* app/display/Makefile.am
* app/paint/Makefile.am
* app/text/Makefile.am
* app/tools/Makefile.am
* app/widgets/Makefile.am
* libgimp/Makefile.am
* libgimpbase/Makefile.am: changed *-enums.c generation rules
accordingly.
* app/base/base-enums.c
* app/core/core-enums.c
* app/display/display-enums.c
* app/paint/paint-enums.c
* app/text/text-enums.c
* app/tools/tools-enums.c
* app/widgets/widgets-enums.c
* libgimpbase/gimpbaseenums.c: regenerated.
* app/widgets/gimpenumstore.c
* app/widgets/gimpenumwidgets.c
* app/widgets/gimptemplateeditor.c
* libgimpwidgets/gimppreviewarea.c: follow the enum utility
function API changes.
2004-10-25 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/enumcode.pl
* libgimp/Makefile.am: register all enums in libgimp/gimenums.h
with the type system.
* libgimp/gimpenums.h: regenerated.
2004-10-25 Sven Neumann <sven@gimp.org>
* configure.in
* app/Makefile.am
* tools/Makefile.am: bumped version to 2.2.0-pre1, set app version
to 2.2, reset other versions to 2.0. Changed library versioning so
we install with the same soname as gimp-2.0 again.
2004-10-22 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch]: added new enum GimpStrokeMethod which
can be one of { LIBART, PAINT_CORE }.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpstrokedesc.[ch]: new object which encapsulates
the params and setup logic for the different stroke methods.
* app/core/gimpitem.[ch]: use it in GimpItem::stroke() and
in the gimp_item_stroke() wrapper.
* app/core/gimpchannel.c (gimp_channel_stroke)
* app/core/gimpselection.c (gimp_selection_stroke)
* app/vectors/gimpvectors.c (gimp_vectors_stroke): changed accprdingly.
* app/actions/select-commands.c
* app/actions/vectors-commands.c
* app/dialogs/stroke-dialog.c
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/paths.pdb: use GimpStrokeDesc. Simplifies the
code quite a bit.
* app/pdb/edit_cmds.c
* app/pdb/paths_cmds.c: regenerated.
2004-10-20 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.[ch]: added gimp_drawable_mask_intersect()
which returns the same bounding box as gimp_drawable_mask_bounds(),
but returns TRUE only if there is a non-empty intersection between
the drawable and the selection, or no selection at all. It also
returns the intersection as x,y,width,height instead of the
eeky x1,y1,x2,y2.
* app/core/gimp-edit.c
* app/core/gimpdrawable-blend.c
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpdrawable-desaturate.c
* app/core/gimpdrawable-equalize.c
* app/core/gimpdrawable-histogram.c
* app/core/gimpdrawable-invert.c
* app/core/gimpdrawable-stroke.c
* app/core/gimpimagemap.c
* app/core/gimpselection.c
* tools/pdbgen/pdb/color.pdb
* tools/pdbgen/pdb/transform_tools.pdb: either switch from
gimp_drawable_mask_bounds() to _intersect() or check the return
values of _mask_bounds() manually to avoid operations on empty
areas. Return successfully because it's a nop, not a failure.
Fixes bug #155733 for the core.
* app/pdb/color_cmds.c
* app/pdb/transform_tools_cmds.c: regenerated.
2004-10-14 Sven Neumann <sven@gimp.org>
* app/core/gimpprogress.[ch]: added "message" function to the
GimpProgress interface. Call gimp_message() if it is unimplemented.
* app/plug-in/plug-in-progress.[ch]: added new function
plug_in_progress_message() that passes the message to the current
proc_frame's progress.
* app/widgets/gimpthumbbox.c: implement GimpProgress::message.
Just do nothing in the implementation. We don't want to see
messages from file plug-ins that we use to create the thumbnails.
* tools/pdbgen/pdb/message.pdb
* app/pdb/message_cmds.c: if there's a current plug-in, dispatch
the message by calling plug_in_progress_message().
* app/display/gimpdisplayshell-close.c: fixed wrong types in
function calls.
2004-10-14 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch]: register GimpConvertPaletteType with
the type system.
* tools/pdbgen/enums.pl: regenerated.
* app/widgets/gimpwidgets-utils.c (gimp_enum_radio_frame_add):
fixed to insert the widget at the right place in the radio box.
* app/dialogs/convert-dialog.c: use enum widgets and
gimp_enum_radio_frame_add(), resulting in a much better looking
dialog with much less lines of code.
2004-10-14 Michael Natterer <mitch@gimp.org>
* tools/authorsgen/contributors: correct UTF-8 spelling of
João S. O. Bueno Calligaris.
* AUTHORS
* app/dialogs/authors.h: regenerated.
2004-10-13 Manish Singh <yosh@gimp.org>
* tools/pdbgen/Makefile.am: Remove stamp files during
maintainer-clean. Addresses bug #155357. Also flesh out the
dependencies some so rebuilds get triggered when all their
dependent files change.
2004-10-11 Michael Natterer <mitch@gimp.org>
* tools/authorsgen/contributors: added missing contributors.
Thanks to Kevin Cozens for going through ChangeLog and making a list.
* AUTHORS
* app/dialogs/authors.h: regenerated.
2004-10-06 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/lib.pl: for deprecated procedures, create a gtk-doc
comment that contains a link to the replacement procedure and
doesn't contain redundant information.
* tools/pdbgen/pdb/text_tool.pdb: fixed names of replacement
procedures.
* libgimp/gimpbrushes.c
* libgimp/gimpgradients.c
* libgimp/gimppalettes.c
* libgimp/gimppatterns.c: made the handwritten gtk-doc comments of
deprecated procedures look like the generated ones.
* app/pdb/text_tool_cmds.c
* libgimp/gimpbrushes_pdb.c
* libgimp/gimpgradients_pdb.c
* libgimp/gimppalettes_pdb.c
* libgimp/gimppatterns_pdb.c
* libgimp/gimptexttool_pdb.c: regenerated.
2004-10-06 Michael Natterer <mitch@gimp.org>
* app/pdb/procedural_db.h (struct ProcRecord): changed new member
"deprecated" from "gboolean" to a "gchar*" which holds the name of
the replacement procedure.
* tools/pdbgen/app.pl: changed accordingly.
* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): show
the name of the replacement procedure in the warning message.
* tools/pdbgen/stddefs.pdb: added utility function
std_pdb_deprecated() which takes the name of the replacement
procedure and fills the blurb, help, author, copyright, date and
deprecated fields of the procedure definition.
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/palettes.pdb
* tools/pdbgen/pdb/patterns.pdb
* tools/pdbgen/pdb/text_tool.pdb: use it instead of duplicating
the same code and strings for all deprecated procedures.
* app/pdb/*_cmds.c: regenerated.
2004-10-06 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/brush.pdb: return the mask's bpp and the
brush's pixmap data if it has one.
* tools/pdbgen/pdb/pattern.pdb: cleaned up.
* tools/pdbgen/pdb/image.pdb: added $deprecated = 1 to deprecated
functions even if they are not exported to libgimp any more.
* app/pdb/procedural_db.h (struct ProcRecord): added member
"gboolean deprecated".
* tools/pdbgen/app.pl
* app/xcf/xcf.c: fill it accordingly.
* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): warn
not only for deprecated procedured which are in the compat hach
table, but also for procedures with deprecated flag set to TRUE.
* app/pdb/*_cmds.c
* libgimp/gimpbrush_pdb.[ch]
* libgimp/gimppattern_pdb.[ch]: regenerated.
* libgimp/gimpbrushmenu.c
* plug-ins/gfig/gfig-style.c: changed accordingly.
2004-10-04 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/gimprc.pdb (gimprc_query, gimprc_set): disallow
the empty string as token. Spotted by Kevin Cozens.
* app/pdb/gimprc_cmds.c: regenerated.
2004-10-04 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/brush.pdb
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/palette.pdb: disallow the empty string for
new brushes, gradients and palettes and check the return value
of gimp_data_factory_data_new(). Cleanup.
* app/core/gimpbrushgenerated.c (gimp_brush_generated_new)
* app/core/gimpgradient.c (gimp_gradient_new)
* app/core/gimpdatafactory.c (gimp_data_factory_data_new): same
here. Fixes bug #154264.
* app/core/gimpdata.[ch] (gimp_data_set_filename): added boolean
"deletable" parameter because it's not derivable from "writable".
* app/core/gimpdatafactory.c (gimp_data_factory_load_data): need
to figure "deletable" separately from "writable" to be able to
delete unsavable stuff in the user-writable data directories.
Fixes bug #154410.
(gimp_data_factory_data_save_single): cleaned up.
* app/pdb/brush_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/palette_cmds.c
* libgimp/gimpbrush_pdb.c
* libgimp/gimpgradient_pdb.c
* libgimp/gimppalette_pdb.c: regenerated.
2004-09-30 Michael Natterer <mitch@gimp.org>
Cleaned up the DB Browser and Plugin Details code and GUI. It's
not perfect yet but at least they don't look like crap any more.
Fixes bug #131490.
* plug-ins/common/plugin-defs.pl
* plug-ins/common/plugindetails.c: removed this plugin.
* plug-ins/common/.cvsignore
* plug-ins/common/Makefile.am: regenerated.
* plug-ins/dbbrowser/Makefile.am
* plug-ins/dbbrowser/dbbrowser.c
* plug-ins/dbbrowser/dbbrowser_utils.[ch]: removed these files.
* plug-ins/dbbrowser/gimpprocbrowser.[ch]
* plug-ins/dbbrowser/gimpprocview.[ch]: new cleaned up files.
* plug-ins/dbbrowser/plugin-browser.c: the former plugindetails.
* plug-ins/dbbrowser/procedure-browser.c: the former dbbrowser.
* plug-ins/script-fu/Makefile.am: link against the new library
libgimpprocbrowser.a
* plug-ins/script-fu/script-fu-console.c: changed #includes
accordingly. Monir cleanup.
* tools/pdbgen/pdb/plug_in.pdb (plugins_query): fixed menu_path
return value. Was broken since the plug-in menu registering
changes.
* app/pdb/plug_in_cmds.c: regenerated.
2004-09-27 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/fileops.pdb (file_load_thumbnail_invoker): use
the GIMP_CHECK_SIZE_SM define, not the enum value
GIMP_CHECK_SIZE_SMALL_CHECKS which is 0 (eeek!).
* app/pdb/fileops_cmds.c: regenerated.
* app/widgets/gimphelp.c (gimp_help_get_locales): minor cleanup.
2004-09-24 Sven Neumann <sven@gimp.org>
* app/base/curves.[ch]
* app/tools/gimpcurvestool.c: defined CURVES_NUM_POINTS and use it.
* tools/pdbgen/pdb/color.pdb (curves_spline_invoker): unset the
last control point which got initialized to (255,255) by
curves_init(). Fixes bug #153635.
* app/pdb/color_cmds.c: regenerated.
2004-09-23 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/palettes.pdb
* tools/pdbgen/pdb/patterns.pdb: removed the foos_set_foo()
procedures and marked the foos_set_foo() ones as deprecated. For
brushes, patterns and palettes, added foos_get_foo_info()
procedures which work like foos_get_foo_data() but return just the
properties, not the actual data. Allow NULL or "" to be passed
as name to all functions (use the current brush, pattern etc.
in this case).
* tools/pdbgen/pdb/fonts.pdb: cleanup.
* app/pdb/procedural_db.c: added the removed ones to the compat
hash table.
* libgimp/Makefile.am
* libgimp/gimpbrushes.[ch]
* libgimp/gimpgradients.[ch]
* libgimp/gimppalettes.[ch]
* libgimp/gimppatterns.[ch]: new files with compat functions
wich call the resp. gimp_context_*() functions.
* libgimp/gimp.h: changed accordingly.
* app/pdb/brushes_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/internal_procs.c
* app/pdb/palettes_cmds.c
* app/pdb/patterns_cmds.c
* libgimp/gimpbrushes_pdb.[ch]
* libgimp/gimpgradients_pdb.[ch]
* libgimp/gimppalettes_pdb.[ch]
* libgimp/gimppatterns_pdb.[ch]: regenerated.
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/gfig/gfig-dialog.c
* plug-ins/gfig/gfig-style.[ch]
* plug-ins/gflare/gflare.c: changed accordingly.
2004-09-23 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/context.pdb: oops, should probably pop, not
push a context in gimp_context_pop().
* app/pdb/context_cmds.c: regenerated.
* plug-ins/script-fu/scripts/mkbrush.scm: don't fiddle with the
brush description, simply use the name choosen by the user.
2004-09-22 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc-frame.[ch] (plug_in_proc_frame_init):
removed assertion about proc_rec != NULL because that happens
when query()ing and init()int plug-ins.
Replaced "context" by "main_context" plus "context_stack".
* app/plug-in/plug-in-context.c: implement plug_in_context_push()
and plug_in_context_pop().
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-progress.c: changed accordingly.
* tools/pdbgen/pdb/context.pdb: use the return values of
plug_in_context_push() and _pop().
* app/pdb/context_cmds.c: regenerated.
* plug-ins/script-fu/scripts/test-sphere.scm: use
gimp-context-push and gimp-context-pop instead of remembering the
old values for FG, BG etc.
2004-09-22 Sven Neumann <sven@gimp.org>
* tools/pdbgen/Makefile.am
* tools/pdbgen/pdb/context.pdb: new files that will hold context
related PDB functions.
* tools/pdbgen/groups.pl
* app/pdb/Makefile.am
* app/pdb/context_cmds.c
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimp_pdb.h
* libgimp/gimpcontext_pdb.[ch]: (re)generated.
* app/plug-in/Makefile.am
* app/plug-in/plug-in-context.[ch]: new files that will hold code
that implements a context stack in the plug-in's proc-frame.
* app/plug-in/plug-in.[ch]: new function plug_in_get_proc_frame().
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-progress.c: use the new function instead of
duplicating it all over the place.
2004-09-05 Simon Budig <simon@gimp.org>
* app/core/gimpimage-resize.[ch]: Implement function to resize
the image to contain all layers completely. Untabified.
* app/actions/image-actions.c
* app/actions/image-commands.[ch]
* app/widgets/gimphelp-ids.h
* menus/image-menu.xml.in: Make it available in the GUI.
* tools/pdbgen/pdb/image.pdb: Make it available in the PDB.
* app/pdb/image_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpimage_pdb.[ch]: regenerated.
2004-08-31 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable-transform.[ch]: added GimpProgress
parameter to gimp_drawable_transform_affine().
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/transform_tools.pdb: show progress for "blend"
and all transform functions.
* app/pdb/edit_cmds.c
* app/pdb/transform_tools_cmds.c: regenerated.
2004-08-31 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintoptions.[ch]: added "GimpPaintInfo *paint_info"
member and construct property. Changed gimp_paint_options_new()
to take only a GimpPaintInfo parameter.
* app/core/gimpitem.c (gimp_item_stroke)
* app/core/gimppaintinfo.c (gimp_paint_info_new): changed accordingly.
* app/core/gimpchannel.c (gimp_channel_stroke)
* app/vectors/gimpvectors.c (gimp_vectors_stroke): use
paint_options->paint_info->paint_type directly instead of casting
to GimpToolOptions and using
tool_options->tool_info->paint_info->paint_type (eek). Fixes crash
when stroking via the PDB because newly created GimpToolOptions
instances have no "tool_info" pointer yet.
* tools/pdbgen/pdb/paint_tools.pdb: changed all paint PDB wrappers
accordingly.
* app/pdb/paint_tools_cmds.c: regenerated.
2004-08-30 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-progress.[ch]: added boolean return values
to plug_in_progress_install(), uninstall() and cancel(). Added
checks to make sure the installed progress_callback exists, has
the correct signature and was installed by this plug-in.
* tools/pdbgen/pdb/progress.pdb: use the return values to let the
PDB wrappers succeed/fail.
* app/pdb/progress_cmds.c: regenerated.
2004-08-30 Michael Natterer <mitch@gimp.org>
Brought the PDB progress into a working state. Fixes bug #6010,
addressed bugs #97266 and #135185 and unfortunately reopens bug
#150194 (will fix that later).
* libgimpbase/gimpbaseenums.h: added enum GimpProgressCommand.
* app/core/gimppdbprogress.c
* libgimp/gimpprogress.c: use the enum instead of integer
constants for the different progress commands. Cleanup.
* app/plug-in/plug-in-progress.c
* app/plug-in/plug-in-run.c
* app/plug-in/plug-in.c: switch bach to real refcouting for
plug_in->progress (reopens bug #150194) and enabled the PDB
progress code.
* plug-ins/script-fu/script-fu-scripts.c: cleaned up the
progress stuff and the script-fu interface a bit.
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
2004-08-29 Michael Natterer <mitch@gimp.org>
Added an API to allow plug-ins to embed the progress for the
actions they trigger into their own GUI (attention: half-done and
broken code ahead...)
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimppdbprogress.[ch]: new object implementing dispatching
progress calls to a temporary PDB procedure in a plug-in.
* app/Makefile.am: force to link gimppdbprogress.o, bah!
* app/plug-in/plug-in-progress.[ch]: added API to install,
uninstall and cancel a PDB progress for this plug-in, but disabled
the implementation because it doesn't work yet.
* tools/pdbgen/pdb/progress.pdb: added pdb wrappers for the new
install, uninstall and cancel functions.
* libgimp/Makefile.am
* libgimp/gimp.h
* libgimp/gimpprogress.[ch]: added an API around the PDB progress
stuff.
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* plug-ins/script-fu/script-fu-scripts.c: use the new API to show
the progress in the script-fu dialog.
2004-08-27 Michael Natterer <mitch@gimp.org>
Moved the gimp_progress_init() and gimp_progress_update() PDB
functions to their own group because they don't belong to the
"Plug-In" namespace and will soon get more functions.
* tools/pdbgen/pdb/plug_in.pdb: removed the progress stuff...
* tools/pdbgen/pdb/progress.pdb: ...and added it here.
* tools/pdbgen/Makefile.am
* tools/pdbgen/groups.pl
* app/pdb/Makefile.am
* libgimp/Makefile.am: changed accordingly.
* libgimp/gimpprogress_pdb.[ch]: new generated files.
* app/pdb/internal_procs.c
* app/pdb/plug_in_cmds.c
* libgimp/gimp_pdb.h
* libgimp/gimpplugin_pdb.[ch]: regenerated.
2004-08-10 Michael Natterer <mitch@gimp.org>
Redid the whole internal progress stuff: don't pass around
progress_callback and progress_data; instead, provide a
pointer to a GimpProgressInterface which can be implemented
by a variety of backends.
Addresses (but not yet fixes) bugs #6010, #97266 and #135185.
* app/display/Makefile.am
* app/display/gimpprogress.[ch]: removed the old progress hack.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpprogress.[ch]: implement GimpProgressInterface.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpprogressdialog.[ch]: the standalone progress
dialog as widget implementing GimpProgressInterface.
* app/display/gimpdisplay.c
* app/display/gimpstatusbar.[ch]
* app/widgets/gimpfiledialog.[ch]
* app/widgets/gimpthumbbox.[ch]: added GimpProgressInterface
implementation to these classes.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: replaced the old progress vtable entries
by two new to create and destroy a GimpProgressDialog in case
no other progress is available.
* app/pdb/procedural_db.[ch]
* app/plug-in/plug-in-run.[ch]
* tools/pdbgen/app.pl: pass a GimpProgress to all PDB wrappers and
all plug-ins.
* app/plug-in/plug-in.[ch]
* app/plug-in/plug-ins.c
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-progress.c: handle the case there the
plug-in was crated with a progress as well as the case where it
wasn't.
* app/app_procs.c
* app/batch.c
* app/xcf/xcf.c
* app/file/file-open.[ch]
* app/file/file-save.[ch]
* app/widgets/gimphelp.c
* app/widgets/gimpbrushselect.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c: changed accordingly.
* app/core/gimpimagefile.[ch]
* app/display/gimpdisplayshell-dnd.c
* app/gui/file-open-dialog.c
* app/gui/file-open-location-dialog.c
* app/gui/file-save-dialog.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimptoolbox-dnd.c: pass a GimpProgress to all file
related functions. Embed the progress in the file dialog where
possible.
* app/core/gimpdrawable-blend.[ch]
* app/core/gimpdrawable-transform.[ch]
* app/core/gimpimage-convert.[ch]
* app/core/gimpimage-flip.[ch]
* app/core/gimpimage-resize.[ch]
* app/core/gimpimage-rotate.[ch]
* app/core/gimpimage-scale.[ch]
* app/core/gimpitem-linked.[ch]
* app/core/gimpitem.[ch]
* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimplayer.c
* app/core/gimpselection.c
* app/vectors/gimpvectors.c: replaced callback/data by GimpProgress.
* app/tools/gimpblendtool.c
* app/tools/gimptransformtool.c
* app/gui/convert-dialog.c
* app/actions/documents-commands.c
* app/actions/file-commands.c
* app/actions/image-commands.c
* app/actions/layers-commands.c
* app/actions/plug-in-commands.c
* app/actions/vectors-commands.c
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb: changed callers accordingly.
* app/pdb/*_cmds.c: regenerated.
2004-08-09 Michael Natterer <mitch@gimp.org>
Applied (slightly modified) patch from Shlomi Fish which adds a
progress bar to the RGB -> INDEXED conversion. Fixes bug #145274
(and shows that we really really need a GimpProgressInterface in
the core to give progress users full access to the progress API)
* app/core/gimpimage-convert.[ch]: added special
GimpImageConvertProgress function typedef to cope with the
different stages of converting. Support passing such a callback &
data to gimp_image_convert() and update the progress accordingly.
* app/gui/convert-dialog.[ch]: added a convert progress callback
and pass it to gimp_image_convert().
* app/actions/image-commands.c
* tools/pdbgen/pdb/convert.pdb: changed accordingly.
* app/pdb/convert_cmds.c: regenerated.
2004-07-29 Sven Neumann <sven@gimp.org>
* app/core/core-enums.h: removed enums GimpImageType and
GimpImageBaseType ...
* libgimpbase/gimpbaseenums.h: ... and added them here. Also moved
all enums from gimpbasetypes.h to this new file.
* libgimpbase/Makefile.am
* tools/pdbgen/Makefile.am: changed accordingly.
* app/core/core-enums.c
* libgimp/gimpenums.h
* libgimpbase/gimpbaseenums.c
* tools/pdbgen/enums.pl: regenerated.
* libgimpbase/gimpparasite.c
* libgimpbase/gimpprotocol.c
* libgimp/gimp.c: include <glib-object.h>
* libgimpbase/gimpbasetypes.[ch]: added API to set and get a
translation domain on a GType. This is used for translatable enum
values.
* libgimpbase/gimputils.[ch]: added API to retrieve the translated
name for an enum value.
* app/widgets/gimpenumstore.c
* app/widgets/gimpenumwidgets.c: use the new API in libgimpbase.
2004-07-22 Michael Natterer <mitch@gimp.org>
* tools/gimp-remote.c (main): correctly convert relative paths to
URIs. Append the resulting URI only if it's not NULL.
2004-07-16 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb.pl: include "libgimpbase/gimpbase.h" instead of
"libgimpbase/gimpparasite.h" for getting the GimpParasite type.
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/guides.pdb
* tools/pdbgen/pdb/image.pdb: removed redundant #includes.
* tools/pdbgen/pdb/plug_in.pdb: standardized "success" logic.
Consistetly fail if there is no currently queried plugin.
* app/pdb/*.c: regenerated.
2004-07-10 Michael Natterer <mitch@gimp.org>
Removed any remaining GUI dependency from the PDB wrappers:
* app/core/gimp.[ch]: added vtable entries for the display and
help stuff.
* app/widgets/gimphelp.[ch]: renamed gimp_help() to
gimp_help_show().
* app/gui/gui-vtable.c: implement the new display and help vtable
entries.
* tools/pdbgen/pdb.pl
* tools/pdbgen/pdb/display.pdb
* tools/pdbgen/pdb/help.pdb: use the new functions of the Gimp
object instead of using stuff from display/ and widgets/.
* tools/pdbgen/app.pl: removed bad hacks which enabled including
stuff from gui/, display/ and widgets/.
* app/Makefile.am: link widgets-enums.o, display-enums.o and
gimpdisplayoptions.o into the gimp-console binary because they are
needed for the config system and don't depend on any GUI stuff.
* app/pdb/Makefile.am: s/GTK_CFLAGS/GDK_PIXBUF_CFLAGS/
* app/pdb/display_cmds.c
* app/pdb/help_cmds.c: regenerated.
2004-07-05 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/Makefile.am (enum_headers): don't scan
app/paint-funcs/paint-funcs-types.h for enums.
* app/paint-funcs/paint-funcs-types.h: removed /*< pdb-skip >*/
* app/core/core-types.h: reordered opaque typedefs to somehow
match the categories in the comments.
2004-07-04 Simon Budig <simon@gimp.org>
* app/actions/dialogs-commands.c
* app/display/gimpdisplayshell-dnd.c
* app/gui/preferences-dialog.c
* app/tools/gimppainttool.c
* app/widgets/gimpdeviceinfo.c
* app/widgets/gimpitemtreeview.c
* plug-ins/imagemap/imap_selection.c
* tools/pdbgen/pdb/gradients.pdb: Small changes to make GIMP
CVS compile with gcc 2.95 again. Mostly double semicolons and
variable declarations after other stuff. Spotted by Martin
Renold.
* app/pdb/gradients_cmds.c: regenerated.
(there is one issue left, see his patch at
http://old.homeip.net/martin/gcc-2.95.diff, I did not
copy the #define va_copy __va_copy, since I don't know
what happens here.)
2004-06-30 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/drawable.pdb
* libgimp/gimppixbuf.c: raised the maximum size for thumbnails
from 256 to 512 pixels.
* app/pdb/drawable_cmds.c
* libgimp/gimpdrawable_pdb.c: regenerated.
* plug-ins/gfig/gfig-preview.c
* plug-ins/gfig/gfig.c: redone Bill's fix using
gimp_image_get_thumbnail(). A lot simpler, renders the alpha
checkerboard and also works for grayscale images.
2004-06-30 Simon Budig <simon@gimp.org>
* app/vectors/gimpstroke.[ch]
* tools/pdbgen/pdb/paths.pdb: Applied a modified patch from
Geert Jordaens that implements the gimp-path-get-point-at-dist
PDB function (fixes bug #138754).
* app/pdb/paths_cmds.c: regenerated
2004-06-29 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c: reordered drop destinations
so vectors are preferred over SVG.
* app/vectors/gimpvectors-import.[ch]: added "gint position"
parameter to all import functions so the imported vectors can be
added at any position in the vectors stack.
* app/actions/vectors-commands.c
* app/display/gimpdisplayshell-dnd.c
* tools/pdbgen/pdb/paths.pdb: changed accordingly (pass -1 as
position).
* app/pdb/paths_cmds.c: regenerated.
* app/widgets/gimpvectorstreeview.c: implemented SVG DND from and
to the paths dialog.
2004-06-28 Michael Natterer <mitch@gimp.org>
Fixed bug #141930 while keeping bug #132322 fixed:
* app/base/curves.c (curves_lut_func)
* app/base/levels.c (levels_lut_func): changed meaning of channel
slots for GRAYA images: just as for GRAY images, expect the value
channel in slot 0 and the alpha channel in slot 1, so it matches
the meaning of slots of GimpHistogram (before this change, only
GRAY images had their value in slot 0 and GRAYA images had it in
slot 1, whereas the histogram had the value channel in slot 0,
which was breaking auto levels for GRAYA images).
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* tools/pdbgen/pdb/color.pdb: adjusted channel fiddling for GRAY
and GRAYA images accordingly.
* app/tools/gimpcurvestool.c (curves_update)
* app/tools/gimplevelstool.c (levels_update): call
gimp_color_bar_set_buffers() with the right buffers.
* app/pdb/color_cmds.c: regenerated.
2004-06-22 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/fileops.pdb: app/pdb/fileops_cmds.c is a
generated file, need to do the documentation change here.
* app/pdb/fileops_cmds.c
* libgimp/gimpfileops_pdb.c: regenerated.
2004-06-15 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/text_tool.pdb: deprecate the XLFD-based API
gimp_text() and gimp_text_get_extents().
* app/pdb/text_tool_cmds.c
* libgimp/gimptexttool_pdb.[ch]: regenerated.
2004-06-15 Manish Singh <yosh@gimp.org>
* tools/pdbgen/pdbgen.pl
* tools/pdbgen/lib.pl: some simplistic code to add a $deprecated
flag to pdb definitions, which translates into GIMP_DISABLE_DEPRECATED
guards in lib headers.
2004-06-02 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/gradient_edit.pdb: set_blending_function() and
set_coloring_type() work on segment ranges, renamed them
accordingly. Spotted by Shlomi Fish.
* app/pdb/gradient_edit_cmds.c
* libgimp/gimpgradientedit_pdb.[ch]: regenerated.
2004-06-02 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/gradient_edit.pdb
* tools/pdbgen/pdb/gradients.pdb: mark new API as new using $since.
* libgimp/gimpgradientedit_pdb.c
* libgimp/gimpgradients_pdb.c: regenerated.
2004-06-02 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/gradient_edit.pdb: forgot two more s/int32/enum/.
* app/pdb/gradient_edit_cmds.c
* libgimp/gimpgradientedit_pdb.[ch]: regenerated.
2004-06-01 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/image.pdb
* app/pdb/image_cmds.c
* app/core/gimpimage.[ch]: reverted changes I did to the image
unit earlier. As in 2.0, it will continue to not accept pixels.
This makes the PDB API and the XCF format compatible again and
fixes bug #142961 (and to some extent bug #137704).
* app/core/Makefile.am
* app/core/gimpimage-unit.[ch]: removed these files. The
convenience accessors defined here aren't commonly used any
longer.
* app/display/gimpdisplay.[ch]
* app/display/gimpdisplayshell.[ch]: added a unit parameter to
gimp_display_new(). Made "unit" and "scale" properties of
GimpDisplayShell.
* app/actions/image-commands.c
* app/actions/images-commands.c
* app/actions/layers-commands.c
* app/actions/select-commands.c
* app/actions/view-commands.c
* app/core/gimp-edit.c
* app/core/gimp.[ch]
* app/core/gimptemplate.c
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpstatusbar.c
* app/file/file-open.c
* app/gui/gui-vtable.c
* app/gui/info-window.c
* app/gui/offset-dialog.c
* app/gui/resize-dialog.[ch]
* app/pdb/display_cmds.c
* app/tools/gimpcroptool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c
* app/tools/gimprectselecttool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/vectors/gimpvectors-export.c
* app/widgets/gimptoolbox-dnd.c
* tools/pdbgen/pdb/display.pdb: changed accordingly. Use the
display unit where the image unit was used before.
2004-06-01 Michael Natterer <mitch@gimp.org>
* app/core/gimpdatafactory.[ch]: added new function
gimp_data_factory_data_delete().
* app/actions/data-commands.c (data_delete_callback): use it.
* tools/pdbgen/pdb/gradients.pdb: applied (slightly modified)
patch from Shlomi Fish which adds PDB wrappers to create, delete,
duplicate and rename gradients.
* app/pdb/gradients_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpgradients_pdb.[ch]: regenerated.
2004-06-01 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.h: renamed the values of the
GimpGradientSegment* enums from GIMP_GRAD_* to
GIMP_GRADIENT_SEGMENT_* because they are exported now.
* app/core/gimp-gradients.c
* app/core/gimpgradient.c
* app/actions/gradient-editor-actions.c: changed accordingly.
* libgimp/gimpenums.h
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
2004-05-31 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.h
* app/core/gimpgradient.[ch]
* app/pdb/Makefile.am
* app/widgets/gimpgradienteditor.c
* tools/pdbgen/Makefile.am
* tools/pdbgen/groups.pl
* tools/pdbgen/pdb/gradient_edit.pdb: applied a patch from Shlomi
Fish that adds lots of gradient edit functions to
gimpgradient.[ch] and makes them available through the PDB.
Fixes bug #129675 and bug #129678.
Did some cleanups / enhancments to the patch:
* app/core/gimpgradient.[ch]: changed the naming scheme of the new
functions and changed old functions to match the new scheme.
Introduce a "freeze_count" and public freeze()/thaw() API which
enables subsequent gradient changes without "dirty" being emitted
all the time. Added GimpGradient parameters to all functions
which modify the gradient.
* app/widgets/gimpgradienteditor.c: use the new freeze/thaw
stuff to keep the gradient from updating when not in
"Instant Update" mode.
* app/actions/gradient-editor-commands.c: removed all gradient
editing code and call the new core functions.
* libgimp/Makefile.am
* tools/pdbgen/pdb/gradient_edit.pdb: changed the namespace of all
added functions. Generate libgimp wrappers for them..
* app/pdb/gradient_edit_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimp_pdb.h
* libgimp/gimpenums.h
* libgimp/gimpgradientedit_pdb.[ch]
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: (re)generated.
2004-05-29 Sven Neumann <sven@gimp.org>
* plug-ins/common/autocrop.c: applied patch from Philip Lafleur
that makes Autocrop register a new procedure that autocrops a
single layer as requested in bug #142618.
* tools/pdbgen/pdb/layer.pdb
* app/pdb/layer_cmds.c
* libgimp/gimplayer_pdb.c: fixed documentation for gimp_resize_layer.
Patch provided by Philip Lafleur (bug #142618).
2004-05-19 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/plug_in.pdb: made plugin_icon_register() an
underscore-prefixed function which needs to be wrapped.
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* libgimp/Makefile.am
* libgimp/gimp.h
* libgimp/gimpplugin.[ch]: new files containing
gimp_plugin_icon_register() which has no "icon_data_length"
parameter and determines it from the passed icon data.
* libgimp/gimp.def: added gimp_plugin_icon_register.
* plug-ins/common/plugindetails.c
* plug-ins/common/screenshot.c
* plug-ins/common/uniteditor.c
* plug-ins/print/print.c: don't pass the icon_data_length.
2004-05-18 Michael Natterer <mitch@gimp.org>
Allow plug-ins to register menu icons. Fixes bug #120500.
* app/core/core-enums.[ch]: added enum GimpIconType which can
be one of { STOCK_ID, IMAGE_FILE, INLINE_PIXBUF }.
* app/config/gimpconfigwriter.[ch] (gimp_config_writer_data)
* app/config/gimpscanner.[ch] (gimp_scanner_parse_data): new
functions which write/parse raw binary data. Needed for storing
inline pixbufs in pluginrc.
* app/config/gimpconfigwriter.[ch] (gimp_config_writer_identifier):
new function which writes out an unquoted and unescaped string.
* app/plug-in/plug-in-proc.[ch] (struct PlugInProcDef): added
new members "icon_type", "icon_data_length" and "icon_data".
Reordered members so file_proc specific stuff is at the end.
(plug_in_proc_def_get_stock_id)
(plug_in_proc_def_get_pixbuf): new functions to access the
procedure's icon.
* app/plug-in/plug-in-rc.c: save/restore the registered icons.
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c: set the action's stock ID from
the procedure's stock ID.
* app/widgets/gimppluginaction.c
(gimp_plug_in_action_connect_proxy): if the procedure provides a
pixbuf, set it as icon for the menu item.
* app/menus/file-dialog-menu.[ch]
* app/menus/file-open-menu.c
* app/menus/file-save-menu.c
* app/xcf/xcf.c: changed accordingly.
* tools/pdbgen/pdb/plug_in.pdb (plugin_icon_register): new PDB
function which can be called during query().
* tools/pdbgen/enums.pl
* app/pdb/internal_procs.c
* app/pdb/plug_in_cmds.c
* libgimp/gimpenums.h
* libgimp/gimpplugin_pdb.c
* libgimp/gimpplugin_pdb.h
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c: regenerated.
* plug-ins/common/plugindetails.c
* plug-ins/common/uniteditor.c
* plug-ins/print/print.c: register stock_id icons.
* plug-ins/common/screenshot.c: register an inline_pixbuf icon for
testing purposes (used emblem-camera.png from gnome-icon-theme).
* app/actions/dialogs-actions.c
* app/actions/file-actions.c: unrelated: added some more icons
to menu items.
2004-05-17 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.c (gimp_image_init): initialize the image
unit to GIMP_UNIT_PIXEL.
* app/pdb/image_cmds.c
* tools/pdbgen/pdb/image.pdb: allow GIMP_UNIT_PIXEL to be used
in the gimp_image_set_unit() PDB call.
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-05-13 Sven Neumann <sven@gimp.org>
* tools/pdbgen/lib.pl
* tools/pdbgen/pdbgen.pl: added new procedure variable 'since'
that allows to specify when a new function was added. Use that
info to generate an appropriate gtk-doc comment.
* tools/pdbgen/pdb/plug_in.pdb: set since = '2.2' for the new
function gimp_plugin_menu_register().
* libgimp/gimpplugin_pdb.c: regenerated.
2004-05-07 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc.[ch]: removed member "accelerator".
It was never set and this is the conceptually wrong place to store
it anyway.
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c
* app/plug-in/plug-in-message.c
* app/xcf/xcf.c: changed accordingly.
* tools/pdbgen/pdb/plug_in.pdb (plugins_query): always return NULL
as accelerator. Cleaned up the function a bit and made it aware of
proc_def->menu_label added below.
* app/pdb/plug_in_cmds.c: regenerated.
2004-05-07 Michael Natterer <mitch@gimp.org>
Changed plug-in menu registration again to allow passing just the
menu item's label (not the full path) in gimp_install_procedure()
and only the path (excluding the item's label) in
gimp_plugin_menu_register(). Matches the internal action system
better and makes translating the menu paths much easier.
(Of yourse it's still possible to use the old syntax for backward
compatibility).
* app/plug-in/plug-in-proc.[ch]: added "gchar *menu_label".
* app/plug-in/plug-in-params.[ch]: added new functions
plug_in_param_defs_check() and plug_in_proc_args_check() which
check if a procedure's parameters match its menu location
(e.g. <Image> needs RUN-MODE, IMAGE, DRAWABLE).
* app/plug-in/plug-in-message.c (plug_in_handle_proc_install): if
registering an old-style (full) menu_path, use
plug_in_param_defs_check(), set proc_def->menu_label otherwise.
* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_register): use
plug_in_proc_args_check() on the passed menu_path and make sugre
old and new style menu registration are not mixed.
* app/pdb/plug_in_cmds.c: regenerated.
* app/plug-in/plug-in-rc.c: save/restore "menu_label".
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c
* app/menus/plug-in-menus.c: changed action/menu creation
accordingly. Some hacks needed to allow both old and new style
menu_label/menu_paths.
* app/plug-in/plug-in.c
* app/widgets/gimpfiledialog.c
* app/xcf/xcf.c: changed accordingly.
* plug-ins/common/align_layers.c
* plug-ins/common/animationplay.c
* plug-ins/common/animoptimize.c
* plug-ins/common/apply_lens.c
* plug-ins/common/autocrop.c
* plug-ins/common/autostretch_hsv.c
* plug-ins/common/blinds.c
* plug-ins/common/blur.c
* plug-ins/common/borderaverage.c
* plug-ins/common/bumpmap.c
* plug-ins/common/c_astretch.c
* plug-ins/common/ccanalyze.c
* plug-ins/common/channel_mixer.c
* plug-ins/common/checkerboard.c
* plug-ins/common/color_enhance.c
* plug-ins/common/colorify.c
* plug-ins/common/colortoalpha.c
* plug-ins/common/compose.c
* plug-ins/common/convmatrix.c
* plug-ins/common/cubism.c
* plug-ins/common/curve_bend.c
* plug-ins/common/decompose.c
* plug-ins/common/deinterlace.c
* plug-ins/common/depthmerge.c
* plug-ins/common/destripe.c
* plug-ins/common/diffraction.c
* plug-ins/common/displace.c
* plug-ins/common/edge.c
* plug-ins/common/emboss.c
* plug-ins/common/engrave.c
* plug-ins/common/exchange.c
* plug-ins/common/film.c
* plug-ins/common/flarefx.c
* plug-ins/common/fractaltrace.c
* plug-ins/common/screenshot.c: ported the first few plug-ins
to the new registration scheme.
2004-05-06 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/plug_in.pdb: renamed gimp_plugin_menu_add() to
gimp_plugin_menu_register() for consistency with other
gimp_plugin_foo_register() functions which can be called during
query().
* app/pdb/plug_in_cmds.c
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* plug-ins/common/ccanalyze.c
* plug-ins/common/colortoalpha.c
* plug-ins/common/screenshot.c
* plug-ins/winsnap/winsnap.c: changed accordingly.
2004-05-06 Michael Natterer <mitch@gimp.org>
Enabled multiple menu entries per plug-in procedure:
* app/plug-in/plug-in-proc.[ch]: changed "gchar *menu_path" to
"GList *menu_paths".
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-in.c
* app/plug-in/plug-ins.c
* app/menus/menus.c
* app/widgets/gimpfiledialog.c
* app/xcf/xcf.c: changed accordingly.
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c: create an action for the first
element of proc_def->menu_paths.
* app/gui/gui-vtable.c
* app/menus/plug-in-menus.[ch]: create proxy widgets for each
element of proc_def->menu_paths.
* tools/pdbgen/pdb/plug_in.pdb: added new function
gimp_plugin_menu_add() which can be called during query() and adds
a menu path to a procedure registered by the calling plugin.
* app/pdb/internal_procs.c
* app/pdb/plug_in_cmds.c
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* menus/image-menu.xml.in
* menus/toolbox-menu.xml.in: added lots of <placeholder>s for
logical groups (like Image/Resize, Image/Scale, Image/Crop
etc.). Added empty placeholder File/Send for stuff like print and
mail. Added an "Acquire" menu under <Image>/File
* plug-ins/common/mail.c
* plug-ins/print/print.c
* plug-ins/common/winprint.c: register under File/Send.
* plug-ins/common/screenshot.c
* plug-ins/winsnap/winsnap.c: also register under
<Image>/File/Acquire.
* plug-ins/common/autocrop.c
* plug-ins/common/ccanalyze.c
* plug-ins/common/colortoalpha.c
* plug-ins/common/threshold_alpha.c
* plug-ins/common/zealouscrop.c: register additional menu entries
under placeholders in the "Image" and "Layer" menus. This is not
meant to be final but just a hint to keep in mind when
reorganizing the plug-in menus.
2004-05-05 Michael Natterer <mitch@gimp.org>
* app/gui/brush-select.[ch] (brush_select_new): reordered parameters
so the first four are the same for all foo_select_new() functions.
* tools/pdbgen/pdb/brush_select.pdb: changed accordingly.
* app/pdb/brush_select_cmds.c: regenerated.
* app/gui/font-select.c (font_select_new): set the vbox'
border width to 6 to match the other foo_select dialogs.
2004-04-15 Manish Singh <yosh@gimp.org>
* tools/Makefile.am
* app/Makefile.am
* configure.in: app, tools, and user dir bumped to version 2.1 names.
* app/text/gimpfontlist.c: since we now depend on pango 1.4, we can
use pango_fc_font_description_from_pattern() instead of our
cut-n-paste function, gimp_font_list_font_desc_from_pattern().
2004-04-15 Michael Natterer <mitch@gimp.org>
Context cleanup continued:
* app/core/gimpitem.[ch]: added context parameter to
GimpItem::stroke().
* app/core/gimpchannel.c (gimp_channel_stroke)
* app/vectors/gimpvectors.c (gimp_vectors_stroke): use it to get
default values from instead of gimp_get_user_context().
* app/core/gimpselection.c
* app/gui/stroke-dialog.c
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/paths.pdb: changed accordingly.
* app/pdb/edit_cmds.c
* app/pdb/paths_cmds.c: regenerated.
* app/plug-in/plug-in.[ch]: added GimpContext member to the PlugIn
struct. Added context parameter to plug_in_new(),
plug_in_call_query() and plug_in_call_init().
* app/plug-in/plug-in-run.[ch]: added context parameters to
plug_in_run() and plug_in_repeat().
* app/gui/plug-in-commands.c
* app/gui/vectors-commands.c
* app/pdb/procedural_db.c
* app/widgets/gimphelp.c: pass a context to plug_in_run() and
plug_in_repeat().
* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): call
procedures with the plug-in's context.
* app/plug-in/plug-ins.c: use a temporary context for running the
plug-ins' query() and init() functions. Use the same context for
running automatic extensions. This temporarily separates the main
Script-Fu extension from the user context (i.e. scripts have no
way of setting/getting the global FG, BG, brush etc.).
2004-04-13 Sven Neumann <sven@gimp.org>
* tools/gimp-remote.c: reverted last change and go back to the
solution using fork(). Hopefully fixes bug #139158 this time.
2004-04-13 Michael Natterer <mitch@gimp.org>
Moved the calls to floating_sel_relax()/rigor() from various
places to two single spots in the core where they are actually
needed. Fixes bug #138356 (which was caused by the projection
being triggered in the middle of changing the floating selection's
size or the size of the drawable it is attached to). This commit
effectively removes floating selection fiddling from the core's
public API.
* app/core/gimpdrawable.[ch] (gimp_drawable_has_floating_sel): new
function which returns TRUE if there is a floating selection
attached to the drawable.
* app/core/gimpdrawable.c (gimp_drawable_translate)
(gimp_drawable_set_tiles_full): if the drawable *has* a floating
selection, relax/rigor it before/after modifying the drawable.
* app/core/gimplayer.c (gimp_layer_translate)
(gimp_layer_set_tiles): if the layer *is* the floating selection,
relax/rigor it before/after modifying it.
* app/core/gimpdrawable-transform.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-crop.c
* app/core/gimpimage-flip.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c
* app/gui/layers-commands.c
* app/tools/gimpeditselectiontool.c
* tools/pdbgen/pdb/layer.pdb: removed calls to
floating_sel_rigor()/relax() all over the place. Also removed
lots of undo groups which are obsolete now.
* app/pdb/layer_cmds.c: regenerated.
2004-04-13 Michael Natterer <mitch@gimp.org>
GimpItem undo group cleanup in preparation of fixing bug #138356:
* app/core/core-enums.[c]: renamed LAYER_SCALE and LAYER_RESIZE
undo groups to ITEM_SCALE and ITEM_RESIZE.
* app/core/gimpitem.[ch]: always push undo groups around
GimpItem::translate(), scale(), resize(), flip(), rotate() and
transform(). Added the resp. undo_desc strings to GimpItemClass.
* app/core/gimpchannel.[ch]
* app/core/gimpdrawable.[ch]
* app/core/gimplayer.c: removed all undo groups from
implementations of the above methods. Removed the undo_desc
strings which were moved to GimpItemClass.
* app/core/gimpimage-crop.c
* app/core/gimpselection.c
* app/gui/layers-commands.c
* app/vectors/gimpvectors.c
* tools/pdbgen/pdb/layer.pdb: changed accordingly.
* app/pdb/layer_cmds.c: regenerated.
2004-04-10 Sven Neumann <sven@gimp.org>
* tools/gimp-remote.c (start_new_gimp): reverted the last change
and did a different fix that involves closing the X display before
starting gimp (bug #139158).
2004-04-08 Sven Neumann <sven@gimp.org>
* tools/gimp-remote.c (start_new_gimp): applied a patch from
Michael Matz that calls fork() before starting gimp. This is to
avoid X server authentification problems (bug #139158).
2004-03-28 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: added "gboolean removed" to the GimpItem
struct. Defaults to FALSE. Set it to TRUE in gimp_item_removed().
Added public function gimp_item_is_removed().
* app/core/gimpimage-undo-push.c (undo_pop_layer)
(undo_pop_layer_mask) (undo_pop_channel) (undo_pop_vectors):
set it to FALSE manually when re-adding something from the
undo stack.
* tools/pdbgen/app.pl
* tools/pdbgen/pdb.pl: don't allow any operation on items which
are removed from the image (and exist on the undo stack only).
Fixes bug #138311.
* app/pdb/channel_cmds.c
* app/pdb/color_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/edit_cmds.c
* app/pdb/floating_sel_cmds.c
* app/pdb/image_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/paint_tools_cmds.c
* app/pdb/parasite_cmds.c
* app/pdb/selection_cmds.c
* app/pdb/selection_tools_cmds.c
* app/pdb/transform_tools_cmds.c: regenerated.
2004-03-26 Manish Singh <yosh@gimp.org>
* tools/pdbgen/app.pl: don't generate code with tabs.
* tools/pdbgen/pdb/procedural_db.pdb: convert tabs to spaces in
helper function declaration.
* app/pdb/procedural_db.c: convert tabs to spaces.
* app/pdb/*.c: regenerated, no code changes, only tabs->spaces.
2004-03-20 Sven Neumann <sven@gimp.org>
* configure.in: set version number to 2.0.0, version string to
"2.0rc1".
* app/Makefile.am
* libgimp/Makefile.am
* libgimpbase/Makefile.am
* libgimpcolor/Makefile.am
* libgimpmath/Makefile.am
* libgimpmodule/Makefile.am
* libgimpthumb/Makefile.am
* libgimpwidgets/Makefile.am
* tools/Makefile.am: changed 1.3 to 2.0 all over the place.
* README
* NEWS: updated for the 2.0rc1 release.
2004-03-13 Michael Natterer <mitch@gimp.org>
Completed the fix for bug #136702:
* app/core/gimpitem.[ch]: added "gboolean supersample" and
"gint recursion_level" to GimpItem::transform().
* app/core/gimpitem-linked.[ch] (gimp_item_linked_transform): ditto.
* app/core/gimpdrawable-transform.[ch]: added "recursion_level"
parameters and removed the RECURSION_LEVEL #define.
* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimplayer.c
* app/vectors/gimpvectors.c: changed accordingly.
* app/tools/gimptransformoptions.[ch]: added new property
"recursion_level" which is not serializable and has no GUI. Pretty
useless, but it's IMHO better to hardcode the default value here
than in gimpdrawable-transform.c
* app/tools/gimptransformtool.c: changed accordingly.
* tools/pdbgen/pdb/transform_tools.pdb: hardcode "recursion_level"
to 3.
* app/pdb/transform_tools_cmds.c: regenerated.
2004-03-13 Raphael Quinet <quinet@gamers.org>
* app/tools/gimptransformoptions.[ch]: added new "supersample"
property to GimpTransformOptions and added corresponding check
button in the option dialog for the transform tools.
* app/core/gimpdrawable-transform.[ch],
* app/core/gimpdrawable.c,
* app/tools/gimptransformtool.c: new "gboolean supersample"
parameter added to gimp_drawable_transform_tiles_affine() and
gimp_drawable_transform_affine().
* tools/pdbgen/pdb/transform_tools.pdb: ditto. For the PDB calls,
the supersample parameter is set to FALSE for "rotate" and "shear"
and set to TRUE for "perspective", "scale" and "transform_2d".
* app/pdb/transform_tools_cmds.c: regenerated.
The new "supersample" option lets the user decide if the
transformations should use supersampling (RECURSION_LEVEL 3) or
not. This fixes both bug #136702 and bug #109817. Hopefully for
good, this time.
2004-03-07 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/edit.pdb (gimp-edit-copy, gimp-edit-cut)
removed some comments that dated back to the time when these
functions used to take image and drawable parameters.
* app/pdb/edit_cmds.c
* libgimp/gimpedit_pdb.c: regenerated.
2004-03-07 Sven Neumann <sven@gimp.org>
* tools/Makefile.am (AM_CPPFLAGS): define GIMP_APP_VERSION
* tools/gimp-remote.c: when starting a new gimp, make sure the
desktop-startup-id gets passed to it. Makes startup notification
work correctly again.
2004-02-23 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: added #defines for GimpCoords' default
pressure, tilt and wheel values.
* app/display/gimpdisplayshell-callbacks.c
* app/paint/gimppaintcore-stroke.c
* app/text/gimptext-vectors.c
* tools/pdbgen/pdb/paint_tools.pdb: use them. Fixes lots more
buggy default values for tilt (in fact all of them were wrong).
* app/pdb/paint_tools_cmds.c: regenerated.
2004-02-10 Michael Natterer <mitch@gimp.org>
* app/core/gimpviewable.[ch]: added new function
gimp_viewable_get_dummy_preview() which currently returns a
completely white and opaque TempBuf of the requested size. Added
this useless function because this is the place where to implement
a nicer preview if someone volunteers.
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb: use the new function if
gimp->config->layer_previews is FALSE instead of returning no
preview at all. Fixes bug #112012.
Cleaned up the preview functions a bit and raised
the limit for drawable previews from 128x128 to 256x256.
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* libgimp/gimpdrawable_pdb.c: regenerated.
2004-02-05 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/edit.pdb (edit_paste): don't call
gimp_edit_paste() with a NULL buffer. Instead, return an execution
error if there is no global buffer to paste. Fixes the warning
triggered by bug #133244 (but not the bug itself of course).
* app/pdb/edit_cmds.c: regenerated.
2004-02-04 Sven Neumann <sven@gimp.org>
* app/config/gimprc.[ch]: added the new function
gimp_rc_set_unknown_token() to get autosave working for unknown
gimprc tokens.
* app/config/gimpconfig.c: indentation.
* tools/pdbgen/pdb/gimprc.pdb: gimp->edit_config was used for a
good reason, it's the one that's saved. Reverted a change I did
about a month ago. Use gimp_rc_set_unknown_token() so unknown
tokens get saved. This really fixes gimp_gimprc_set().
* app/pdb/gimprc_cmds.c: regenerated.
2004-02-03 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc.[ch]: added new function
plug_in_proc_def_compare_menu_path() which is a GCompareDataFunc.
(uses g_utf8_collate() on the translated menu paths).
* app/plug-in/plug-ins.c (plug_ins_init): sort gimp->load_procs
and gimp->save_procs using the new compare function above.
Fixes bug #133180.
(plug_ins_locale_domain)
(plug_ins_help_domain): don't g_return_if_fail() on a NULL
prog_name but return the default locale and help domains
of the GIMP itself.
(plug_ins_proc_def_insert): removed obsolete and broken (not
locale and UTF-8 aware) code which tried to insert new plug-in
menu entries in alphabetical order (was unused except for load
and save procs).
Unrelated:
* app/plug-in/plug-in-proc.[ch]: added const qualifiers.
* app/file/file-open.c
* app/file/file-save.c
* tools/pdbgen/pdb/fileops.pdb: changed accordingly (constify
local variables).
* app/pdb/fileops_cmds.c: regenerated.
2004-02-02 Sven Neumann <sven@gimp.org>
* libgimpthumb/gimpthumbnail.c (gimp_thumbnail_save_thumb): use
the UTF-encoded URI in error messages, not the filename.
* app/Makefile.am: use $(EXEEXT) for dist-hook binary dependency.
* tools/gimp-remote.c: include <unistd.h> conditionally.
2004-02-01 Michael Natterer <mitch@gimp.org>
Disallow to rename the layer mask. Instead, always name the mask
"<layer name> mask". Fixes bug #133112 along with some other
unreported ones.
* app/core/gimpitem.[ch]: added a boolean return value indicating
success to GimpItem::rename().
(gimp_item_real_rename): push an undo step only if the item is
attached.
* app/core/gimplayer.c (gimp_layer_rename): refuse renaming if
the layer is a floating selection floated from a channel
(renaming a layer's floating selection makes a new layer out
of the floating selection).
(gimp_layer_duplicate): use gimp_layer_add_mask() to attach the
mask's duplicate. Fixes mask refcount brokenness for duplicated
layer masks.
(gimp_layer_name_changed): new function. Automatically renames the
layer mask when the layer's name changes.
* app/core/gimplayermask.c (gimp_layer_mask_rename): new function
which refuses renaming.
(gimp_layer_mask_name_changed): skip the unique name voodoo
GimpItem does by not chaining up.
(gimp_layer_mask_set_layer): change the mask's name whenever it is
attached to a layer.
* app/text/gimptextlayer.c (gimp_text_layer_rename): fiddle with
text_layer->auto_rename only if renaming was successful.
* app/widgets/gimpitemtreeview.c (gimp_item_tree_view_name_edited):
restore the old name if renaming failed.
* tools/pdbgen/pdb/drawable.pdb (set_name): return an execution
error if renaming failed.
* app/pdb/drawable_cmds.c: regenerated.
2004-01-31 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-convert.[ch]: use gboolean instead of gint
for "alpha_dither" and "remove_dups" in all public and private
functions. Properly prototyped private functions. Minor cleanup.
* app/gui/convert-dialog.c: pass FALSE instead of 0.
* tools/pdbgen/pdb/convert.pdb: ditto. Also cleaned up a bit: use
generated checks and documentation for enums, removed duplicate
check for enum range (spotted by Kevin Cozens).
* app/pdb/convert_cmds.c
* libgimp/gimpconvert_pdb.c: regenerated.
2004-01-29 Simon Budig <simon@gimp.org>
* app/display/gimpdisplayshell.[ch]: Store the zoom factor as
float, not as a ratio.
* app/display/gimpdisplayshell-scale.[ch]: change the API to
expose the Float instead a weirdly encoded integer. Implement
functions to get a ratio from the scale factor. Implement a set
as presets as discussed on the mailinglist. Changed Zoom->Other
dialog to enable entering a float.
* app/display/gimpdisplayshell-title.c
* app/display/gimpnavigationview.c
* app/gui/image-menu.c
* app/gui/info-window.c
* app/tools/gimpmagnifytool.c: changed accordingly.
* app/core/gimp.[ch]
* app/display/gimpdisplay.[ch]
* app/gui/gui-vtable.c
* app/widgets/widgets-enums.h: Made the various display-creating
functions accept a float for the scale. Introduce a new
GimpZoomType: GIMP_ZOOM_TO. Generally adjust the API to use
floats instead of weird integers.
* app/core/gimp-edit.c
* app/core/gimptemplate.c
* app/display/gimpdisplayshell-callbacks.c
* app/file/file-open.c
* app/gui/image-commands.c
* app/gui/view-commands.[ch]
* tools/pdbgen/pdb/display.pdb
* app/widgets/gimpimageview.c
* app/widgets/gimptoolbox-dnd.c: changed accordingly
* app/pdb/display_cmds.c: regenerated
2004-01-26 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/scripts/unsharp-mask.scm: add the layer to
the image before pasting to it. Fixes bug #132504.
Fixed the underlying problem: make it impossible to attach
floating selections to drawables which are not currently part of
the image's layer or channel stacks.
Also cleaned up image <-> floating_sel interaction:
* app/core/gimplayer-floating-sel.[ch] (floating_sel_attach):
added assertion that the drawable is part of the image (see below).
Don't call gimp_image_floating_selection_changed(), it's emitted
by gimp_image_add_layer() now.
(floating_sel_remove)
(floating_sel_anchor): don't emit "floating_selection_changed",
it's emitted by gimp_image_remove_layer() now.
(floating_sel_anchor): removed the fix for bug #132162 because
gimp_image_remove_layer() behaves correctly now (see below).
Renamed floating_sel_reset() to floating_sel_activate_drawable().
Added g_return_if_fail() all over the place.
* app/core/gimpimage.[ch]: added new function gimp_image_owns_item()
which return TRUE if the passed item is part of the image.
(gimp_image_add_layer): emit "floating_selection_changed" here if
needed.
(gimp_image_remove_layer): emit "floating_selection_changed" if
needed, don't try to activate a layer if we called
floating_sel_activate_drawable().
This is the real fix for bug #132162.
* app/core/gimpimage-undo-push.c (undo_pop_layer): apply the same
fixes as to gimp_image_add,remove_layer(). Don't call
gimp_drawable_invalidate_preview() on the previously active layer
because that's done by gimp_image_set_active_layer() now.
* app/xcf/xcf-load.c: remember the "floating_sel_drawable" in the
XcfInfo struct and attach it *after* all layers and channels are
loaded to avoid attaching the floating selection to an
out-of-image drawable.
* app/core/gimp-edit.c (gimp_edit_paste)
* app/core/gimpdrawable-transform.c (gimp_drawable_transform_affine,
gimp_drawable_transform_flip, gimp_drawable_transform_rotate)
* app/core/gimpselection.c (gimp_selection_float)
* app/text/gimptext-compat.c (text_render): added checks for
gimp_image_owns_item() in all functions which can produce
floating selections.
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/floating_sel.pdb
* tools/pdbgen/pdb/selection.pdb
* tools/pdbgen/pdb/text_tool.pdb
* tools/pdbgen/pdb/transform_tools.pdb: added checks for
gimp_item_owns_image() and return an execution error if invoked
with a drawable which is not part of the image.
* app/pdb/edit_cmds.c
* app/pdb/floating_sel_cmds.c
* app/pdb/selection_cmds.c
* app/pdb/text_tool_cmds.c
* app/pdb/transform_tools_cmds.c: regenerated.
2004-01-24 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/color.pdb (levels, curves): fiddle with the
passed channel index only for GRAYA drawables, not for all GRAY
drawables. Fixes bug #132322.
* tools/pdbgen/pdb/color.pdb: regenerated.
* app/tools/gimpcurvestool.[ch]
* app/tools/gimplevelstool.[ch]: fixed the same bug here. It never
occured because the "channel" field was accidentially initialized
with the correct value and never changed after.
2004-01-21 Manish Singh <yosh@gimp.org>
* configure.in: modernized, made a lot of things m4 macros, and made
versioning a lot more finegrained, in anticipation for post-2.0.
* autogen.sh: bumped up libtool and glib minimum requirements to match
reality.
* gimp-2.0.pc.in
* gimpthumb-2.0.pc.in
* gimpui-2.0.pc.in: adapted to new versioning variables, and bring
in RT_LIBS when needed.
* */*/Makefile.am: adapted to new versioning variables.
2004-01-22 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: added "gboolean use_default_values"
to GimpItem::stroke().
* app/core/gimpselection.c: changed accordingly.
* app/core/gimpchannel.c
* app/vectors/gimpvectors.c: if use_default_values is TRUE, don't
use the GimpPaintOptions passed in the GimpPaintInfo, but create a
new one.
* app/gui/stroke-dialog.c: pass FALSE so the values as set in the
tool options are used.
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/paths.pdb: pass TRUE so tool options settings
don't affect PDB stroke calls. Fixes part 2 of bug #132145.
* app/pdb/edit_cmds.c
* app/pdb/paths_cmds.c: regenerated.
2004-01-20 Sven Neumann <sven@gimp.org>
* tools/gimp-remote.c: added new command-line options --existing
and --query. The former allows to get the old behaviour back and
the latter might be useful one day.
* docs/gimp-remote-1.3.1.in: document the new options.
2004-01-20 Sven Neumann <sven@gimp.org>
* tools/gimp-remote.c: always open a new GIMP instance when being
called without any filenames/URLs. This makes it behave better when
being used from application launchers such as the GNOME panel.
* docs/gimp-remote-1.3.1.in: document the new behaviour.
2004-01-20 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/help.pdb: changed "prog_name" parameter of
gimp_help() to "help_domain". It's useless to pass the plug-in's
executable name to the core because the core already knows it.
Instead, enabled accessing arbitrary help domains via the
PDB. Passing NULL as help_domain will use the domain the plug-in
registered, or the GIMP main help domain if it didn't register a
domain.
* app/pdb/help_cmds.c
* libgimp/gimphelp_pdb.[ch]: regenerated.
* libgimp/gimpui.c (gimp_ui_help_func): pass NULL as help_domain.
2004-01-20 Sven Neumann <sven@gimp.org>
* tools/gimp-remote.c: made --new the default behaviour and allow
gimp-remote to be called without any image filenames.
* docs/gimp-remote-1.3.1.in: changed accordingly.
* data/misc/gimp.applications
* data/misc/gimp.desktop.in.in: removed --new option from
gimp-remote calls.
2004-01-18 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.c (gimp_image_set_active_layer): don't allow
to select anything but the floating selection. Fixes bug #128025.
(gimp_image_set_active_layer,channel,vectors): allow to pass NULL
to unselect the active item. Removed the silly feature that
passing some random item of another image would select the first
item in the list (was unused anyway).
(gimp_image_unset_active_channel): use gimp_image_set_active_channel()
now that it accepts NULL.
(gimp_image_add_layer,channel,vectors): cleaned up / simplified.
(gimp_image_remove_layer,channel,vectors): cleanup,
simplification, use gimp_image_set_active_layer,channel,vectors()
now that they accept NULL, make sure the item next to the removed
item becomes the active one (and not the first in the list, which
was a severe usability problem in the dialogs).
* app/core/gimpimage-undo-push.c (undo_pop_layer,channel): pass
NULL to the set_active functions, cleanup.
* app/core/gimpimage-duplicate.c: attach the floating selection
before setting the active layer. Code relied on broken
gimp_image_set_active_layer() behaviour before.
* app/core/gimplayer-floating-sel.c: no need to set
gimage->floating_sel before calling gimp_image_add_layer(). The
weird GUI mentioned in the comment existed in 1.2 only.
* app/display/gimpdisplayshell-layer-select.c (layer_select_advance):
don't assume that setting the active_layer always succeeds.
* tools/pdbgen/pdb/image.pdb: behave as the documentation says
and return an execution error if setting the active layer or
channel failed.
Unrelated:
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb: removed leftover cruft from the old
guchar based color API.
* tools/pdbgen/pdb/channel.pdb: simplified code which handles the
channel's color.
* app/pdb/channel_cmds.c
* app/pdb/image_cmds.c: regenerated.
2004-01-15 Michael Natterer <mitch@gimp.org>
Fixed bug #78732 (don't paste off screen):
* app/display/gimpdisplayshell-transform.[ch]: added new function
gimp_display_shell_untransform_viewport() which returns the
visible rectangle of the image in image coordinates.
* app/core/gimp-edit.[ch] (gimp_edit_paste): added viewport
parameters and changed positioning of the pasted layer as follows:
- if there is a selection, center on the selection (just as before).
- if there is no viewport, center on the active drawable.
- if the viewport intersects with the active drawable, center
on the intersection.
- if the viewport does *not* intersect with the active drawable,
center on the active drawable (off-screen, but better than pasting
something that will be invisible due to floating selection clipping).
- if there is no active drawable, center on the viewport.
- if there is no active drawable and no viewport, center on the image.
* app/widgets/gimpbufferview.c (gimp_buffer_view_paste_clicked)
(gimp_buffer_view_paste_into_clicked)
* app/display/gimpdisplayshell-dnd.c (gimp_display_shell_drop_buffer)
* app/gui/edit-commands.c (edit_paste_cmd_callback)
(edit_paste_into_cmd_callback): ask the shell for the viewport
and pass it to gimp_edit_paste().
* app/display/gimpdisplayshell-dnd.c
(gimp_display_shell_drop_drawable): center the created layer on
the viewport.
* app/tools/gimpmovetool.c (gimp_move_tool_button_release): use
gimp_display_shell_untransform_viewport() (its code was taken from
here).
* tools/pdbgen/pdb/edit.pdb: pass "no viewport" to gimp_edit_paste().
* app/pdb/edit_cmds.c: regenerated.
2004-01-13 Michael Natterer <mitch@gimp.org>
* app/base/gimphistogram.c: added GimpHistogramChannel index
fiddling hacks for GRAYA images to all gimp_histogram_get_*()
functions. The public API now does what their enum values pretend
to do.
(gimp_histogram_calculate): restructured to reduce indentation depth.
* app/widgets/gimphistogrameditor.c
* app/widgets/gimphistogramview.c
* tools/pdbgen/pdb/color.pdb: removed hacks here and always use
the unchanged enum values.
* app/pdb/color_cmds.c: regenerated.
2004-01-13 Michael Natterer <mitch@gimp.org>
* app/base/gimphistogram.[ch]: renamed gimp_histogram_nchannels()
to gimp_histogram_n_channels().
* app/core/gimpdrawable-histogram.c: removed silly double negation
logic. Cleanup.
* app/widgets/gimphistogrameditor.c
* app/widgets/gimphistogramview.c: adjust the GimpHistogramChannel
for GRAYA images to make sure we pick alpha from the right slot.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c: removed the same hack here and call
gimp_histogram_view_set_channel() with the correct enum value.
* tools/pdbgen/pdb/color.pdb (levels, curves, histogram): fiddle
with enum values here too so GRAY* drawables produce the correct
results.
Fixed precondition checks and set "success" in a uniform way all
over the place.
Use gimp_drawable_calculate_histogram() instead of duplicating its
code here.
(started with a patch from Pedro Gimeno. Fixes bug #109078)
* app/pdb/color_cmds.c: regenerated.
2004-01-10 Sven Neumann <sven@gimp.org>
* app/core/gimpimagefile.[ch] (gimp_imagefile_update): removed the
size parameter and do nothing but invalidating the preview.
* app/gui/file-open-dialog.c
* app/widgets/gimpdocumentview.c: changed accordingly.
* app/core/gimpdocumentlist.c (gimp_document_list_deserialize):
no need for calling gimp_imagefile_update() from here.
* tools/pdbgen/pdb/fileops.pdb
* app/pdb/fileops_cmds.c (file_load_thumbnail): rewritten using the
GimpThumbnail API.
* app/core/gimp.c: cosmetics.
2004-01-07 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/gimprc.pdb: removed redundant "success = TRUE"
assignments which simplifies the generated code quite a bit.
(most of the changed functions always succeed and don't need a
"success" variable at all)
* app/pdb/gimprc_cmds.c: regenerated.
2004-01-06 Michael Natterer <mitch@gimp.org>
Enabled skipping enum values for either the PDB or GType
registration (don't always skip both targets):
* tools/gimp-mkenums: skip enum values only if there is a literal
"skip" (don't match "pdb-skip").
* tools/pdbgen/enumgen.pl: skip only "pdb-skip" values, not "skip"
ones.
* app/base/base-enums.h
* app/core/core-enums.h
* app/paint/paint-enums.h
* libgimpbase/gimpbaseenums.h: use the right "pdb-skip"/"skip"
combination to skip enum values. Changed comments accordingly.
Cleaned up the fill functions:
* app/core/core-enums.[ch]: added GIMP_PATTERN_FILL enum value to
the GimpFillType enum. Don't export GIMP_NO_FILL to the PDB
because it's completely useless to export a NOP.
* app/core/gimp-edit.c (gimp_edit_fill, gimp_edit_fill_internal):
handle pattern fill requests.
* app/core/gimpdrawable.[ch] (gimp_drawable_fill): added GimpPattern
parameter and fill with it if it's non-NULL.
(gimp_drawable_fill_by_type): handle pattern fill and pass the
current pattern to gimp_drawable_fill().
* app/text/gimptextlayer.c: changed accordingly.
* app/gui/edit-commands.c
* app/gui/image-menu.c: use gimp_edit_fill() instead of
gimp_drawable_bucket_fill() for FG, BG and pattern filling.
* libgimp/gimpcompat.h
* plug-ins/script-fu/siod-wrapper.c: removed NO_IMAGE_FILL compat
enum value. It should have never been exported to the PDB.
* app/pdb/drawable_cmds.c
* app/pdb/edit_cmds.c
* libgimp/gimpenums.h
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
2004-01-06 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/gimprc.pdb: use gimp->config; edit_config is
just for the prefs dialog. This should fix gimp_gimprc_set().
* app/pdb/gimprc_cmds.c: regenerated.
2003-12-16 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/image.pdb (image_add_layer_mask)
* tools/pdbgen/pdb/layer.pdb (layer_add_mask): don't unref the
mask after adding it because the layer now takes ownership using
g_object_ref()/gimp_item_sink().
* app/pdb/image_cmds.c
* app/pdb/layer_cmds.c: regenerated.
2003-12-13 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/procedural_db.pdb: added a hack that allows to
dynamically allocate the strings returned by a PDB query. Construct
more useful "blurb" and "help" strings for deprecated procedures.
* tools/pdbgen/pdb/image.pdb: did the same change manually for
gimp_image_add,remove_layer_mask.
* app/pdb/procedural_db_cmds.c
* app/pdb/image_cmds.c: regenerated.
2003-12-09 Michael Natterer <mitch@gimp.org>
Fixed memory management of layers and channels which were created
using the PDB:
* app/core/gimpitem.[ch]: added "gboolean floating" flag to
GimpItem. Items are created with floating == TRUE. Added
gimp_item_sink() which resets the floating flag and unrefs the
item if it was TRUE. Added gimp_item_is_floating() accessor.
* app/core/gimpimage.c (gimp_image_add_layer,channel,vectors):
g_object_ref()/gimp_item_sink() added items to take ownership of
them.
* app/core/gimplayer.c (gimp_layer_add_mask):
g_object_ref()/gimp_item_sink() the mask.
* app/gui/layers-commands.c
* app/xcf/xcf-load.c: don't unref layer masks after adding them to
the layer.
* tools/pdbgen/pdb/drawable.pdb (drawable_delete):
gimp_item_sink() the drawable if it's floating and fail if it's
not. Fixes bug #128881.
* tools/pdbgen/pdb/layer.pdb (layer_create_mask): fixed docs.
* app/pdb/drawable_cmds.c
* app/pdb/layer_cmds.c
* libgimp/gimplayer_pdb.c: regenerated.
2003-12-09 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/image.pdb (image_list): iterate gimp->images
directly rather than building a (leaked) temp GList using
gimp_container_foreach(). Removed gimlist_cb() utility function.
* app/pdb/image_cmds.c: regenerated.
2003-12-08 Michael Natterer <mitch@gimp.org>
Some PDB fixes/cosmetics before doing real changes again:
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/layer.pdb: changed order of generated functions
to make more sense.
* tools/pdbgen/pdb/misc_tools.pdb: doc cosmetics, removed unused
subroutines.
* tools/pdbgen/pdb/image.pdb: reordered generated functions as
above, fixed resolution and unit accessors to use functions
instead of setting gimage->foo directly, use &image_accessors()
for the tattoo_state functions, cleanup.
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/misc_tools_cmds.c
* libgimp/gimpdrawable_pdb.[ch]
* libgimp/gimpimage_pdb.[ch]
* libgimp/gimplayer_pdb.[ch]
* libgimp/gimpmisctools_pdb.c: regenerated.
2003-12-08 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/display.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb: don't use "alias"es just to rename
variables, they just clutter the code and there is no reason why
e.g. a GimpDisplay variable must be called "gdisp" instead of
"display". Cleanup.
* app/pdb/channel_cmds.c
* app/pdb/display_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c: regenerated.
2003-12-05 Michael Natterer <mitch@gimp.org>
Made 3rd party scripts work again after all that PDB function
renaming:
* app/core/gimp.[ch]: added "GHashTable *procedural_compat_ht" to
the Gimp struct which maps old procedure names to new ones.
Call new function procedural_db_init_procs() instead of
internal_procs_init().
* app/pdb/procedural_db.[ch]: create and destroy the new compat
hash table. Added new function procedural_db_init_procs() which
registers the internal procedures and fills the compat hash table.
(procedural_db_execute): minor fixes.
* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): if
the requested procedure was not found, try the compat table.
* tools/pdbgen/pdb/procedural_db.pdb: made all PDB query
procedures compat aware. For compat procedures, return help
strings which declare the procedure as deprecated and tell
the new name of the procedure. Cleanup.
* app/pdb/procedural_db_cmds.c: regenerated.
2003-12-03 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/layer.pdb: removed gimp_layer_delete() and
gimp_channel_delete() PDB wrappers...
* tools/pdbgen/pdb/drawable.pdb: ...added gimp_drawable_delete().
* libgimp/gimpdrawable.[ch]: removed gimp_drawable_delete()
(having this function work on the GimpDrawable wrapper and not on
the drawable_id was more than questionable anyway).
* libgimp/gimpcompat.h: added gimp_layer_delete and
gimp_channel_delete cruft #defines.
* app/pdb/channel_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/internal_procs.c
* app/pdb/layer_cmds.c
* libgimp/gimpchannel_pdb.[ch]
* libgimp/gimpdrawable_pdb.[ch]
* libgimp/gimplayer_pdb.[ch]: regenerated.
* plug-ins/script-fu/scripts/add-bevel.scm
* plug-ins/xjt/xjt.c: changed accordingly.
* plug-ins/imagemap/imap_main.c: just removed the call to
gimp_channel_delete(), it was wrong anyway.
2003-12-03 Michael Natterer <mitch@gimp.org>
* libgimp/libgimp-sections.txt
* libgimp/tmpl/gimpchannel.sgml
* libgimp/tmpl/gimpdrawable.sgml
* libgimp/tmpl/gimplayer.sgml: updated again.
2003-11-30 Sven Neumann <sven@gimp.org>
* app/batch.c: removed the hack that used to call gimp_exit() when
the batch command matches "(gimp-quit 0)". It shouldn't be needed.
* tools/pdbgen/pdb/misc.pdb
* app/core/gimp.[ch]
* app/gui/gui.c: renamed "kill_it" parameter to "force". We don't
kill the application any longer; this option is just about whether
to ask the user for confirmation or not.
* app/pdb/misc_cmds.c: regenerated.
* app/app_procs.c: cosmetics.
2003-11-26 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch]: added enum values
GIMP_ADD_ALPHA_MASK_TRANSFER and GIMP_UNDO_GROUP_LAYER_ADD_MASK.
* app/core/gimplayer.c (gimp_layer_create_mask): applied patch
from Pedro Gimeno which implements the new ADD_MASK type and
added undo. Fixes bug #127930.
* app/gui/layers-commands.c: push an undo group around layer mask
creation & adding since the creation may change the layer now.
* app/pdb/layer_cmds.c
* libgimp/gimpenums.h
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
2003-11-17 Manish Singh <yosh@gimp.org>
* tools/gimp-remote.c (gimp_remote_find_window): search for the
window role "gimp-toolbox", since the app sets that instead of
the class now.
2003-11-11 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcolorbutton.[ch]: added new API
gimp_color_button_[get|set]_update() which configures the button
to emit "color_changed" continuously while the color in the color
selection dialog is being changed. Fixes bug #90091.
Renamed GimpColorButton struct member
"GtkItemFactory *item_factory" to a /*< private >*/ member named
"gpointer popup_menu". This is ugly but fixes bug #125115,
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.c
* app/widgets/gimpcolorpanel.c: changed accordingly.
* libgimpwidgets/gimpcolorbutton.c: use a GimpColorSelection
with a handmade GimpDialog instead of GtkColorSelectionDialog.
Enabled module loading for plug-ins so the color selection
can show the color selectors which are implemented in modules:
* libgimpwidgets/gimpwidgets-private.[ch]: added
GimpEnsureModlesFunc which can be called by modules users.
* app/gui/gui.c (gui_libs_init): pass NULL as
GimpEnsureModulesFunc since the core loads the modules itself.
* libgimp/gimpui.c (gimp_ui_init): pass new private function
gimp_ensure_modules() which will load the modules upon first
invocation.
* libgimp/Makefile.am: link libgimpui against libgimpmodule.
* libgimpwidgets/gimpcolorselection.c: call
_gimp_ensure_modules_func() if it is non-NULL so color selector
modules are available for plug-ins.
* tools/pdbgen/pdb/gimprc.pdb: added new PDB wrapper
gimp_get_module_load_inhibit().
* app/pdb/gimprc_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpgimprc_pdb.[ch]: regenerated.
2003-11-10 Michael Natterer <mitch@gimp.org>
Made plug-ins honor the current GIMP theme:
* app/core/gimp.[ch]: added GimpGetThemeDirFunc to the GUI vtable.
* app/gui/gui-vtable.c: implement it here.
* tools/pdbgen/pdb/gimprc.pdb: added new PDB function
gimp_get_theme_dir().
* libgimp/gimpui.c: use the new function and fall back to
gimp_gtkrc() if it returns NULL.
* app/pdb/gimprc_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpgimprc_pdb.[ch]: regenerated.
* app/gui/themes.c: unrelated cleanup.
2003-10-31 Sven Neumann <sven@gimp.org>
* tools/gimp-remote.c: made multi-head safe. Let GTK+ parse the
command-line before checking for application-specific parameters.
* docs/gimp-remote-1.3.in: document the --display command-line option.
2003-10-26 Simon Budig <simon@gimp.org>
* tools/authorsgen/contributors: Fixed/Added some UTF-8 encoded
names. Please speak up if I did mess up your name.
* AUTHORS
* app/gui/authors.h: regenerated.
2003-10-24 Dave Neary <bolsh@gimp.org>
* tools/pdbgen/pdb/paths.pdb: Applied a patch from
Wolfgang Hofer <hof@gimp.org> to make gimp_path_get_points
behave the same as in 1.2.x. Closes bug #125008.
2003-10-15 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-utils.c (gimp_config_diff_internal): minor
cleanup.
* app/core/gimptemplate.[ch]: added a comment property.
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h: removed "default_comment" property
and set the default comment on the default image template.
* app/widgets/gimptemplateeditor.c: added a comment editor widget.
* app/core/gimp.c
* app/gui/file-new-dialog.c
* app/gui/preferences-dialog.c
* app/pdb/gimprc_cmds.c
* tools/pdbgen/pdb/gimprc.pdb: changed accordingly.
* libgimpwidgets/gimpmemsizeentry.c (gimp_memsize_entry_init):
increased spacing between the spinbutton and the menu.
2003-10-08 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/fileops.pdb (file_load_invoker):
procedural_db_execute() *must* get the correct number of args, so
do like file_save_invoker and create a full Argument array with
the correct number of args and copy our own args into it before
calling the actual load procedure. Fixes bug #124059.
* app/pdb/fileops_cmds.c: regenerated.
2003-10-06 Michael Natterer <mitch@gimp.org>
Treat changes to the selection like changes to any other drawable:
* app/core/gimpchannel.c
* app/core/gimpchannel-combine.c: call gimp_drawable_update() after
changing the channel.
* app/core/gimpimage.[ch]: added struct GimpImageFlushAccumulator
with one member "gboolean mask_changed". Connect to "update" of
the selection and set accum.mask_changed to TRUE in the callback.
Added default implementation for GimpImage::flush() and emit
"mask_changed" there.
Unrelated:
* app/core/gimpimage.h: removed GimpGuide struct...
* app/core/gimpimage-guides.h: ...and added it here.
* app/core/gimpimage-undo-push.c (undo_pop_mask)
(undo_pop_channel_mod): don't distinguish between selection and
non-selection channels and just call gimp_drawable_update().
* app/core/gimpundo.h
* app/core/gimpimage-undo.c: removed "gboolean mask_changed" from
the GimpUndoAccumulator struct since we don't have to care about
that signal explicitly any more.
* app/display/gimpdisplay-foreach.[ch]: removed gimp_displays_flush().
* tools/pdbgen/pdb/display.pdb (displays_flush_invoker): call
gimp_image_flush() on all images so the flush accumulator is
honored.
This generalization enables the removal of more special purpose
code which was needed to treat the selection different:
* app/core/gimpimage-mask-select.[ch]: removed...
* app/core/gimpchannel-select.[ch]: ...and added under a new name
because it's not selection specific any more.
* app/core/gimpimage-mask.[ch]: removed...
* app/core/gimpselection.[ch]: ...added the two remaining
functions here. Removed all calls to gimp_image_mask_changed().
* app/core/Makefile.am
* app/core/gimp-edit.c
* app/core/gimpdrawable-transform.c
* app/core/gimpimage-scale.c
* app/core/gimpimage-snap.c
* app/display/gimpdisplayshell.c
* app/gui/channels-commands.c
* app/gui/layers-commands.c
* app/gui/select-commands.c
* app/gui/vectors-commands.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimprectselecttool.c
* app/tools/gimptransformtool.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpvectorstreeview.c
* app/xcf/xcf-save.c
* tools/pdbgen/pdb/paths.pdb
* tools/pdbgen/pdb/selection.pdb
* tools/pdbgen/pdb/selection_tools.pdb: changed accordingly.
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpimage-colormap.c
* app/core/gimplayer-floating-sel.c
* app/core/gimplayer.c
* app/gui/image-menu.c
* app/paint/gimppaintcore.c
* app/tools/gimpcroptool.c
* app/tools/gimpinkoptions.c
* app/tools/gimpvectortool.c: removed useless and/or obsolete
#includes.
* app/pdb/display_cmds.c
* app/pdb/paths_cmds.c
* app/pdb/selection_cmds.c
* app/pdb/selection_tools_cmds.c: regenerated.
2003-09-26 Manish Singh <yosh@gimp.org>
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/paths.pdb: apply Simon's changes (GIMP_OBJECT
casts) to here, since they are generated files.
2003-09-26 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/Makefile.am: don't scan "app/tools/tools-enums.h"
for PDB types since the PDB doesn't depend on app/tools/ any more.
* app/tools/tools-enums.h: removed lengthy "skip" vs. "pdb-skip"
comment. Removed "pdb-skip" from all enums. Renamed GimpCropType
to GimpCropMode, renamed the enum's values to GIMP_CROP_MODE_*.
* app/tools/tools-enums.c: regenerated.
* app/tools/gimpcropoptions.[ch]
* app/tools/gimpcroptool.c: changed accordingly.
2003-09-25 Sven Neumann <sven@gimp.org>
* app/vectors/gimpvectors-import.[ch]: optionally scale the
imported SVG to fit the image.
* app/gui/vectors-commands.c: changed accordingly.
* tools/pdbgen/pdb/paths.pdb: export the new scale parameter to
the PDB.
* app/pdb/paths_cmds.c
* libgimp/gimppaths_pdb.[ch]: regenerated.
* plug-ins/common/svg.c: scale the imported vectors to image size.
This makes them always fit :)
2003-09-22 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/gimprc.pdb: UTF-8 validate the value set using
gimprc_set(); mention this in the documentation.
* app/pdb/gimprc_cmds.c
* libgimp/gimpgimprc_pdb.c: regenerated.
* app/config/gimpconfig-path.c (gimp_config_path_expand): added
inline docs since this function is really not self-explanatory.
2003-09-21 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/paths.pdb: added a preliminary PDB API for
vectors import. Will change when the new vectors PDB API gets
added.
* app/pdb/internal_procs.c
* app/pdb/paths_cmds.c
* libgimp/gimppaths_pdb.[ch]: regenerated.
* plug-ins/common/svg.c: allow to import paths when rendering a
SVG file.
2003-09-15 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-transform-utils.[ch]: removed...
* app/core/gimp-transform-utils.[ch]: ...and added under new names
because these functions are not at all related to GimpDrawable.
Changed the function names accordingly.
* app/tools/gimpperspectivetool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c
* app/vectors/gimpstroke.c
* app/vectors/gimpvectors.c
* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.
* app/pdb/transform_tools_cmds.c: regenerated.
2003-09-04 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.[ch]: removed gimp_channel_load().
* app/core/gimpimage-mask.[ch]: removed gimp_image_mask_load()
and _save().
* app/core/gimpselection.[ch]: added gimp_selection_load() and
_save() since these functions are specific to the selection.
* app/core/gimpimage-qmask.c
* app/gui/select-commands.c
* app/widgets/gimpselectioneditor.c
* tools/pdbgen/pdb/selection.pdb: changed accordingly.
* app/pdb/selection_cmds.c: regenerated.
2003-09-04 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpcontainer-filter.[ch]: added filter functionality
for GimpContainers.
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/fonts.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/palettes.pdb
* tools/pdbgen/pdb/patterns.pdb: made the gimp_foo_get_list()
PDB function somewhat useful by adding a filter parameter that
allows to specify a regular expression to be used on the list.
* app/pdb/Makefile.am: had to uglify the ugly hack even more :(
* app/pdb/brushes_cmds.c
* app/pdb/fonts_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/palettes_cmds.c
* app/pdb/patterns_cmds.c
* libgimp/gimpbrushes_pdb.[ch]
* libgimp/gimpfonts_pdb.[ch]
* libgimp/gimpgradients_pdb.[ch]
* libgimp/gimppalettes_pdb.[ch]
* libgimp/gimppatterns_pdb.[ch]: regenerated.
* plug-ins/gflare/gflare.c
* plug-ins/pygimp/gimpmodule.c: changed accordingly.
* plug-ins/script-fu/scripts/font-map.scm: replaced the font list
parameter with a more useful regexp filter on the available fonts.
2003-09-04 Sven Neumann <sven@gimp.org>
* app/core/gimpcontainer.[ch]: added new function
gimp_container_get_name_array().
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/palettes.pdb
* tools/pdbgen/pdb/paths.pdb
* tools/pdbgen/pdb/patterns.pdb: use the new GimpContainer function
instead of duplicating this code over and over again.
* app/pdb/brushes_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/palettes_cmds.c
* app/pdb/paths_cmds.c
* app/pdb/patterns_cmds.c
* libgimp/gimpgradients_pdb.c: regenerated.
* tools/pdbgen/Makefile.am
* tools/pdbgen/pdb/fonts.pdb: added new file that defines a simple
PDB API for fonts.
* tools/pdbgen/groups.pl
* app/pdb/Makefile.am
* app/pdb/fonts_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimp_pdb.h
* libgimp/gimpfonts_pdb.[ch]: (re)generated.
2003-09-04 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/paths.pdb (path_get_points): lookup the vectors
by name instead of always using the active path (bug #121401).
Made all functions use the convenience function
gimp_image_get_vectors_by_name() instead of the GimpContainer API.
* app/pdb/paths_cmds.c: regenerated.
* app/core/gimpimage.c: simplified the gimp_image_get_foo_by_name
functions by making use of gimp_container_get_child_by_name().
2003-09-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-mask.[ch]: removed the feather(), sharpen(),
all(), invert(), border(), grow() and shrink() wrappers.
* app/core/gimpselection.[ch]: changed gimp_selection_invalidate()
and gimp_selection_push_undo() to take GimpChannel parameters, not
GimpSelection ones. They will be made virtual GimpChannel
functions anyway.
* app/core/gimpedit.c
* app/gui/select-commands.c
* app/widgets/gimpselectioneditor.c
* tools/pdbgen/pdb/selection.pdb: changed accordingly.
* app/pdb/selection_cmds.c: regenerated.
2003-09-01 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: added new virtual function
GimpItem::stroke().
* app/core/gimpchannel.c
* app/vectors/gimpvectors.c: implement GimpItem::stroke().
* app/core/gimpimage-mask.[ch] (gimp_image_mask_stroke): changed
signature to match gimp_item_stroke() (the selection mask *really*
should be a GimpChannel subclass).
Removed global variable "gboolean gimp_image_mask_stroking"...
* app/core/gimpimage.[ch]: ...and added "gboolean mask_stroking"
to the GimpImage struct.
* app/gui/vectors-commands.[ch]: removed vectors_stroke_vectors().
* app/widgets/widgets-types.h: removed GimpStrokeItemFunc typedef.
* app/widgets/gimpvectorstreeview.[ch]: removed "stroke_item_func"
member and use gimp_item_stroke() instead.
* app/gui/dialogs-constructors.c (dialogs_vectors_list_view_new)
* app/gui/edit-commands.c (edit_stroke_cmd_callback)
* app/gui/vectors-commands. (vectors_stroke_cmd_callback)
* app/widgets/gimpselectioneditor.c
(gimp_selection_editor_stroke_clicked)
* tools/pdbgen/pdb/edit.pdb (gimp_edit_stroke): changed accordingly.
* app/pdb/edit_cmds.c: regenerated.
Note that there is no GUI for "stroke channel", although it would
be utterly cool to have one, since currently slelection stroking
cannot be masked by a selection (because we stroke the selection).
Anyway, if anyone has an idea how to trigger "stroke channel" with
another drawable active (the one to stroke to), please let me
know...
2003-08-31 Manish Singh <yosh@gimp.org>
* app/core/gimpimage-undo-push.c (undo_pop_layer): gsize is unsigned,
reflect that in the g_prints.
* tools/pdbgen/pdb/color.pdb: case to GIMP_BASE_CONFIG for the call
to gimp_histogram_new, #include "core/gimpdrawable-histogram.h"
* app/pdb/color_cmds.c: regenerated.
2003-08-31 Manish Singh <yosh@gimp.org>
* configure.in: added a prominent comment for translators to make
sure they have all 4 po files before adding to ALL_LINGUAS.
* app/gui/plug-in-menus.c: remove redudant #include of gimpenv.h
* tools/pdbgen/pdb/plug_in.pdb: gimp_strip_uline menu_path before
passing it up.
* app/pdb/plug_in_cmds.c: regenerated.
* plug-ins/common/mng.c
* plug-ins/common/psd_save.c
* plug-ins/common/psp.c: use G_N_ELEMENTS
* plug-ins/common/screenshot.c: use GDK_WINDOWING_* for #includes
too. GDK cursor enums are ok to pass to XCreateFontCursor.
* plug-ins/dbbrowser/dbbrowser_utils.c: minor cleanups, also use
gtk_cell_renderer_text_set_fixed_height_from_font as an optimization.
* plug-ins/libgck/gck/gckcolor.c: #undef GDK_DISABLE_DEPRECATED and
add warning.
* plug-ins/pygimp/gimpfu.py: remove some redundant import gtk's
2003-08-31 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/color.pdb: applied a patch from Shawn Willden
that adds the new PDB function levels_auto.
* app/pdb/color_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpcolor_pdb.[ch]: regenerated.
2003-08-28 Henrik Brix Andersen <brix@gimp.org>
* plug-ins/common/screenshot.c: rewrote a large part of the
screenshot plug-in. The plug-in now no longer depends on the xwd
utility, but uses Xlib/GDK functionality to obtain the screen shot.
The window to shoot is now selected prior to the time out. This
fixes bug #103852.
The ability to obtain a screen shot of a window without
decorations has had to go since this can not be done using plain
Xlib/GDK (one would have to depend on libXmu to do this).
The source is prepared for G_OS_WIN32 but the win32 specific code
is yet to be written.
* tools/pdbgen/pdb/plug_in.pdb (gimp_progress_update): improved the
inline documentation
* app/pdb/plug_in_cmds.c
* libgimp/gimpplugin_pdb.c: regenerated
2003-08-28 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-convert.c (gimp_image_convert): free the
colormap and set colormap size to 0 after converting from indexed.
Should make gimp_image_get_cmap() behave as advertized again.
* tools/pdbgen/pdb/image.pdb: use gimp_image_get_colormap_size()
instead of accessing gimage->num_cols directly.
* app/pdb/image_cmds.c: regenerated.
2003-08-28 Michael Natterer <mitch@gimp.org>
Completed the new help infrastructure. Needs some polishing but
basically works as proposed:
* tools/pdbgen/pdb/plug_in.pdb: changed gimp_plugin_help_register()
to take a "domain_name" (which is the XML namespace) and a
"domain_uri" (which is the root of the plug-in's help pages).
* tools/pdbgen/pdb/help.pdb: changed gimp_help() to take help_id
instead of a non-UTF-8 help_path.
* app/plug-in/plug-in-def.[ch]
* app/plug-in/plug-in-proc.[ch]
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-ins.[ch]: remember the plug-ins' help_domain
and help_uri instead of just help_path. Changed all plug-in APIs
to reflect this change.
* app/widgets/gimphelp.[ch]: on helpbrowser startup, pass it the
whole list of help domains. The actual help request is now made
using the browser's temporary procedure.
* app/core/gimp.h
* app/gui/file-open-menu.c
* app/gui/file-save-menu.c
* app/gui/plug-in-menus.[ch]
* app/widgets/gimpitemfactory.c: changed accordingly.
* app/pdb/help_cmds.c
* app/pdb/plug_in_cmds.c
* libgimp/gimphelp_pdb.[ch]
* libgimp/gimpplugin_pdb.[ch]: regenerated.
Changed the help broser to load the pages according to the
new system:
- moved the browser window stuff to dialog.[ch]
- moved help domain handling to domain.[ch]
- added gimp-help.xml parsing to domain.c
- tons of cleanup
* plug-ins/helpbrowser/Makefile.am
* plug-ins/helpbrowser/dialog.[ch]
* plug-ins/helpbrowser/domain.[ch]: new files.
* plug-ins/helpbrowser/helpbrowser.c: chopped.
2003-08-27 Michael Natterer <mitch@gimp.org>
Enabled type-preserving DND of all kinds of items between
different images. Fixes bug #119983.
* app/core/gimpitem.[ch]: added new virtual function
GimpItem::convert() which duplicates an item for another image.
* app/core/gimplayer.[ch]: removed gimp_layer_new_from_drawable()
and made it a GimpItem::convert() implementation.
* app/vectors/gimpvectors.[ch]: removed gimp_vectors_convert() and
made it a GimpItem::convert() implementation.
* app/widgets/gimpitemtreeview.[ch]: removed GimpConvertItemFunc
typedef and function pointer in GimpItemTreeViewClass since
we can simply call gimp_item_convert() now.
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c
* app/display/gimpdisplayshell-dnd.c
* tools/pdbgen/pdb/layer.pdb: changed accordingly.
* app/pdb/layer_cmds.c: regenerated.
2003-08-25 Sven Neumann <sven@gimp.org>
Fixed some issues with the PDB thumbnail functions spotted by
Wolfgang Hofer and loosely based on patches he provided:
* tools/pdbgen/pdb/fileops.pdb (file_load_thumbnail): keep a
reference on the GimpImagefile as long as we need the associated
preview temp_buf. Call gimp_imagefile_update() before requesting
the preview.
* app/pdb/fileops_cmds.c: regenerated.
* app/base/temp-buf.c (temp_buf_new_check): use a checkerboard
algorithm similar to the one the displayshell-render code uses.
2003-08-21 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/selection.pdb (selection_load,combine): use
gimp_image_mask_select_channel() instead of
gimp_image_mask_load(). Removes the restriction that the channel
to select has to have the same size as the image. Changed help
texts accordingly.
* app/pdb/selection_cmd.c
* libgimp/gimpselection_pdb.c: regenerated.
2003-08-21 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/gimphelp-ids.h: new file defining the available help
topics. Work in progress and totally unusable for matching to the
help system. Stay tuned...
* app/gui/about-dialog.c
* app/gui/brushes-menu.c
* app/gui/buffers-menu.c
* app/gui/channels-commands.[ch]
* app/gui/channels-menu.c
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/file-new-dialog.c
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradients-commands.c
* app/gui/gradients-menu.c
* app/gui/image-menu.c
* app/gui/layers-commands.[ch]
* app/gui/layers-menu.c
* app/gui/module-browser.c
* app/gui/offset-dialog.c
* app/gui/palettes-menu.c
* app/gui/patterns-menu.c
* app/gui/resize-dialog.c
* app/gui/select-commands.c
* app/gui/templates-menu.c
* app/gui/tips-dialog.c
* app/gui/toolbox-menu.c
* app/gui/vectors-commands.[ch]
* app/gui/vectors-menu.c: replaced literal HTML file paths by help
IDs from gimphelp-ids.h. Renamed some menu callbacks to be
consistent with similar ones. This is just an intermediate commit
and not finished.
While browsing all the menus, I noticed that our "x to selection"
functions are not consistent at all. They should all offer the
REPLACE,ADD,SUBTRACT,INTERSECT options:
* app/core/gimpchannel.[ch]: added new function
gimp_channel_new_from_alpha(). Removed gimp_channel_layer_alpha()
and gimp_channel_layer_mask().
* app/core/gimpimage-mask.[ch]: added
gimp_image_mask_select_alpha() and
gimp_image_mask_select_component() which offer the full set of
operation, feather and feather_radius parameters as the other
selection functions.
* app/core/gimpimage-mask-select.[ch]: removed
gimp_image_mask_layer_alpha() and gimp_image_mask_layer_mask().
* app/gui/channels-commands.c (channels_channel_to_selection): use
gimp_image_mask_select_component() instead of implementing it
here.
* app/gui/image-menu.c
* app/gui/layers-commands.[ch]: offer the full choice of
REPLACE,ADD,SUBTRACT,INTERSECT with "Alpha to Selection" and "Mask
to Selection".
* tools/pdbgen/pdb/selection.pdb: changed accordingly.
* app/pdb/selection_cmds.c: regenerated.
2003-08-18 Michael Natterer <mitch@gimp.org>
Finished the addition of "gboolean reverse" to the gradient API:
* tools/pdbgen/pdb/gradients.pdb: added "reverse" params to
gimp_gradients_sample_uniform(), sample_custom() and
get_gradient_data().
* app/pdb/gradients_cmds.c
* libgimp/gimpgradients_pdb.[ch]: regenerated.
* libgimp/gimpgradientmenu.c: changed accordingly.
Made everything compile with the new API:
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/FractalExplorer/FractalExplorer.[ch]: got lost in
"reverse" adding, whitespace removal and general code cleanup.
I better commit this now before continuing, even though "reverse"
adding is not finished.
* plug-ins/common/sample_colorize.c: removed own gradient
reversing code, use "reverse" instead.
* plug-ins/common/gradmap.c
* plug-ins/flame/flame.c
* plug-ins/gflare/gflare.c
* plug-ins/pagecurl/pagecurl.c: simply pass reverse == FALSE and
added #warnings that more work needs to be done. Some whitespace
removal and minor cleanup.
2003-08-17 Michael Natterer <mitch@gimp.org>
Fixed bug #79897 for all parasite procedures:
* tools/pdbgen/app.pl: UTF-8 validate parasite->name.
* tools/pdbgen/pdb/parasite.pdb: UTF-8 validate parasite names which
are passed separately from the parasite struct.
* app/pdb/parasite_cmds.c: regenerated.
2003-07-29 Manish Singh <yosh@gimp.org>
* tools/pdbgen/app.pl: added a utf8 option for string input
parameters, and validate them.
* tools/pdbgen/pdb/text_tool.pdb: make the text parameter use it.
Partially addresses #79897. Also remove references to XLFD in the
doc text.
* app/pdb/text_tool_cmds.c: regenerated
* configure.in: Really bump the version number
2003-07-22 Michael Natterer <mitch@gimp.org>
* app/core/gimpgradient.[ch]: added "gboolean reverse" to
gimp_gradient_get_color_at() so all gradients can be used
reversed.
* app/core/gimpdrawable-blend.[ch] (gimp_drawable_blend)
* app/core/gimppalette-import.[ch] (gimp_palette_import_from_gradient):
added "gboolean reverse".
* app/paint/paint-enums.[ch]: removed enum GimpGradientRepeatMode
since it is identical to GimpRepeatMode, except for the now
obsolete ONCE_BACKWARD value.
* app/paint/gimppaintcore.[ch]: removed
gimp_paint_core_get_color_from_gradient()...
* app/paint/gimppaintoptions.[ch]: ...and added
gimp_paint_options_get_gradient_color(), which is much more
general. Added a "reverse" property to GimpGradientOptions and
changed the type of the "repeat" property to GimpRepeatMode.
* app/paint/gimppaintbrush.c: use
gimp_paint_options_get_gradient_color().
* app/tools/gimpblendoptions.[ch]: removed the "repeat" property
since it is in the parent class now.
* app/gui/gradient-select.c
* app/gui/palette-import-dialog.c
* app/widgets/gimpgradienteditor.c
* app/tools/gimpblendtool.c
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/misc_tools.pdb: changed accordingly.
* app/tools/gimppaintoptions-gui.c: added a "Reverse" toggle right
of the gradient preview.
* app/widgets/gimppreviewrenderergradient.[ch]: added "gboolean
reverse" member and gimp_preview_renderer_gradient_set_reverse()
API.
* tools/pdbgen/pdb/paint_tools.pdb: fixed the paintbrush invoker
to set GimpPaintOption's "use-fade" and "use-gradient" properties
correctly.
* app/pdb/gradients_cmds.c
* app/pdb/misc_tools_cmds.c
* app/pdb/paint_tools_cmds.c
* libgimp/gimpenums.h
* libgimp/gimpmisctools_pdb.[ch]
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
* libgimp/gimpcompat.h
* plug-ins/script-fu/siod-wrapper.c: removed GimpGradientPaintMode
here too since it was only exported accidentially (it's not used
by any external API).
* plug-ins/script-fu/scripts/3dTruchet.scm
* plug-ins/script-fu/scripts/alien-glow-arrow.scm
* plug-ins/script-fu/scripts/alien-glow-bar.scm
* plug-ins/script-fu/scripts/alien-glow-bullet.scm
* plug-ins/script-fu/scripts/alien-glow-button.scm
* plug-ins/script-fu/scripts/alien-glow-logo.scm
* plug-ins/script-fu/scripts/basic1-logo.scm
* plug-ins/script-fu/scripts/basic2-logo.scm
* plug-ins/script-fu/scripts/beveled-button.scm
* plug-ins/script-fu/scripts/blended-logo.scm
* plug-ins/script-fu/scripts/burn-in-anim.scm
* plug-ins/script-fu/scripts/coffee.scm
* plug-ins/script-fu/scripts/comic-logo.scm
* plug-ins/script-fu/scripts/coolmetal-logo.scm
* plug-ins/script-fu/scripts/glossy.scm
* plug-ins/script-fu/scripts/gradient-bevel-logo.scm
* plug-ins/script-fu/scripts/gradient-example.scm
* plug-ins/script-fu/scripts/pupi-button.scm
* plug-ins/script-fu/scripts/rendermap.scm
* plug-ins/script-fu/scripts/sphere.scm
* plug-ins/script-fu/scripts/starscape-logo.scm
* plug-ins/script-fu/scripts/test-sphere.scm
* plug-ins/script-fu/scripts/textured-logo.scm
* plug-ins/script-fu/scripts/title-header.scm
* plug-ins/script-fu/scripts/weave.scm: pass "reverse" to
gimp_blend(). Pass FALSE in most cases and added script
parameters were it makes sense.
2003-07-14 Michael Natterer <mitch@gimp.org>
Argh...
* app/paint/Makefile.am
* app/paint/gimppencil.[ch]: added it again as GimpPaintbrush
subclass and override nothing but the user visible undo name and
the paint_options type.
* app/paint/paint.c
* app/tools/tool_manager.c
* app/tools/gimppenciltool.c
* tools/pdbgen/pdb/paint_tools.pdb: reverted my last changes.
* app/pdb/paint_tools_cmds.c: regenerated.
2003-07-14 Michael Natterer <mitch@gimp.org>
* app/paint/Makefile.am
* app/paint/gimppencil.[ch]: removed.
* app/paint/gimppenciloptions.[ch]: new files. Does nothing except
setting the default value of "hard" to TRUE.
* app/paint/paint.c
* app/tools/tool_manager.c: changed accordingly.
* app/tools/gimppenciltool.c
* tools/pdbgen/pdb/paint_tools.pdb: use the pintbrush core for
pencil drawing.
* app/pdb/paint_tools_cmds.c: regenerated.
* app/tools/gimppaintoptions-gui.c: show all paintbrush options
except "Hardness" for the pencil tool.
2003-07-09 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/paths.pdb: applied a modified patch from Joao
S. O. Bueno <gwidion@mpc.com.br> that adds the new PDB function
gimp_path_to_selection().
* app/pdb/internal_procs.c
* app/pdb/paths_cmds.c
* libgimp/gimppaths_pdb.[ch]: regenerated.
2003-07-01 Sven Neumann <sven@gimp.org>
* tools/authorsgen/contributors: removed a double entry, added
some new ones.
* AUTHORS
* app/gui/authors.h: regenerated.
2003-06-29 Manish Singh <yosh@gimp.org>
* tools/gimp-mkenums: handle options with -'s in them
* tools/pdbgen/enumgen.pl: redo a bunch of logic for the below
* app/core/core-enums.h: use /*< pdb-skip, skip >*/ for skipping
in both gimp-mkenums and enumgen.pl
* app/core/core-enums.c: regenerated
2003-06-24 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/image.pdb: changed the maximum preview
dimensions in gimp_image_get_thumbnail() to the limit implied by
the core preview system (GIMP_VIEWABLE_MAX_PREVIEW_SIZE). Fixes
bug #115464.
* libgimp/gimpimage_pdb.c
* app/pdb/image_cmds.c: regenerated.
2003-06-20 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/message.pdb (message): use
plug_in_get_undo_desc() instead of duplicating its code.
* app/pdb/message_cmds.c: regenerated.
2003-06-16 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/brush_select.pdb (brush_args): don't fail on
brush_spacing values < 0, but behave as documented (use the
brush's own spacing).
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/font_select.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/pattern_select.pdb: gtk_window_present() the
dialog on each set_popup(). This way the dialogs can be risen via
the PDB by setting the already selected object. Replaced
unreadable variable names by verbose ones.
* app/pdb/brush_select_cmds.c
* app/pdb/font_select_cmds.c
* app/pdb/gradient_select_cmds.c
* app/pdb/pattern_select_cmds.c: regenerated.
2003-06-13 Michael Natterer <mitch@gimp.org>
Cleaned up and improved the message system:
* app/core/gimp.[ch]: added "const gchar *domain" to
GimpMessageFunc (a NULL domain means the message is from the GIMP
core, everything else is a plug-in).
* app/errors.c: pass "domain == NULL" to gimp_message().
* tools/pdbgen/pdb/message.pdb: derive the message domain from the
current plug-in's menu_path (evil hack but works reasonably well).
* app/pdb/message_cmds.c: regenerated.
* app/widgets/gimpwidgets-utils.[ch] (gimp_message_box): added a
header showing the message domain and changed the dialog layout to
follow the HIG more closely.
* app/gui/error-console-dialog.[ch]: removed.
* app/widgets/gimperrorconsole.[ch]
* app/gui/error-console-commands.[ch]
* app/gui/error-console-menu.[ch]: new files containing a
re-implementation of the error console dialog.
* app/gui/Makefile.am
* app/gui/dialogs-constructors.c
* app/gui/gui.c
* app/gui/menus.c
* app/widgets/Makefile.am
* app/widgets/widgets-types.h: changed accordingly.
* app/display/gimpprogress.c: added more spacing and removed the
separator (more HIG compliant).
* plug-ins/[most plug-ins].c: Changed lots of messages and
progress strings:
- Removed plug-in names from messages since that's automatically
covered by "domain" now.
- Put all filenames in ''.
- Changed "Loading" to "Opening".
- Added "..." to all progress messages.
- Cleaned up all file open/save error messages to look the
same and include g_strerror(errno).
- Removed special casing for progress bars and *always* show them,
not only if run_mode != GIMP_RUN_NONINTERACTIVE (we can't expect
all plug-ins to do this correctly but need to hack the core to
sort out unwanted progress bars).
Unrelated:
- Cleaned up indentation, spacing, #includes, coding style and
other stuff while I was at all these files.
2003-06-06 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/message.pdb: UTF-8 validate messages before
passing them to g_message().
* app/pdb/message_cmds.c
* libgimp/gimpmessage_pdb.c: regenerated.
2003-06-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-rotate.c (gimp_image_rotate_item_offset):
fixed offset calculation for 90 and 270 degree rotations.
* app/core/gimpimage-flip.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c: increase the progress also when
transforming the selection. Makes the progress appear more
continuous. Also clened up and simplified the progress code
in all files.
* app/core/gimpimage-resize.[ch]: added a progress like in the
files above.
* app/gui/image-commands.c (image_resize_callback): changed
accordingly.
(image_scale_implement): clened up and simplified a lot.
* tools/pdbgen/pdb/image.pdb: changed accordingly.
* app/pdb/image_cmds.c: regenerated.
2003-05-22 Michael Natterer <mitch@gimp.org>
* app/vectors/Makefile.am
* app/vectors/gimpvectors-compat.[ch]: new files implementing a
compatibility API for converting old XCF and PDB point arrays
to GimpVectors and vice versa.
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c
* tools/pdbgen/pdb/paths.pdb: use the new functions instead of
having slightly different, but equally ugly code twice.
* app/xcf/xcf-load.c: cleaned up path loading a lot. Removed the
path_point loading utility functions.
* app/pdb/paths_cmds.c: regenerated.
* app/Makefile.am: link vectors/libappvectors.a after
xcf/libappxcf.a so the compat functions (which are not needed in
vectors/) are found. Also reverted an accidentially checked in
change to the libgimpwidgets link order.
2003-05-22 Manish Singh <yosh@gimp.org>
* tools/pdbgen/pdb/fileops.pdb: convert filename to a uri for
find_utils_find_proc.
* app/pdb/fileops_cmds.c: regenerated
2003-05-19 Michael Natterer <mitch@gimp.org>
* app/gui/image-menu.c: moved the image flip entries to the
Image->Transform submenu and added flip entries to
Layer->Transform. Cleaned up the transform submenus.
* app/gui/drawable-commands.[ch]: added
drawable_flip_cmd_callback().
* tools/pdbgen/pdb/image.pdb: added a PDB wrapper for
gimp_image_flip().
* libgimp/gimpimage_pdb.[ch]
* app/pdb/image_cmds.c
* app/pdb/internal_procs.c: regenerated.
2003-05-19 Manish Singh <yosh@gimp.org>
* configure.in: remove glibconfig.h inline check, it hasn't worked
for a long time.
* tools/authorsgen/contributors: added George J. Carrette, author of
SIOD.
2003-05-18 Michael Natterer <mitch@gimp.org>
* app/vectors/gimpbezierstroke.[ch]
(gimp_bezier_stroke_new_from_coords): changed to expect all points
(also the first one) in "H, A, H" order. Ignore the first coord
in the array for now. Added "gboolean closed" parameter.
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/paths.pdb: shuffle the legacy path point arrays
around before creating strokes so they match the new order.
* app/pdb/paths_cmds.c: regenerated.
2003-05-16 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-mask.[ch] (gimp_image_mask_extract): added
"gboolean cut_image" parameter so we can float selections
without cutting them from the original drawable.
* app/gui/select-commands.c
* tools/pdbgen/pdb/selection.pdb: pass cut_image == TRUE.
* app/pdb/selection_cmds.c: regenerated.
* app/tools/tools-enums.[ch]: added SELECTION_MOVE_COPY value
to the SelectOps enum.
* app/tools/gimpselectiontool.c: use the new mode when
<ctrl>+<alt>-dragging a selction (yes, this is evil but there are
no modifiers left).
* app/tools/gimpeditselectiontool.[ch]: extended EditType enum by
EDIT_MASK_COPY_TO_LAYER_TRANSLATE and pass cut_image == FALSE if
it's passed to init_edit_selection().
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimprectselecttool.c: pass the new mode to
GimpEditSelectionTool.
2003-05-16 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/paths.pdb: fixed some bugs and warnings in
the ported functions.
* app/pdb/paths_cmds.c: regenerated.
2003-05-16 Sven Neumann <sven@gimp.org>
* app/pdb/fileops_cmds.c
* tools/pdbgen/pdb/fileops.pdb: this change should fix
file_load_thumbnail() for images with alpha channel by blending
the resulting tempbuf on a checkerboard (bug #113033).
2003-05-15 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/paths.pdb: removed PDB access to the old paths
and ported everything to GimpVectors. Note that everything except
gimp_path_set_points() is untested and that
gimp_path_get_point_at_dist() is currently unimplemented. Changed
order of the generated functions and fixed some help texts.
* tools/pdbgen/app.pl: removed $tools_eek and $paint_eek hacks
because pdb/ doesn't include stuff from tools/ any more and paint/
no longer depends on GTK+.
* app/pdb/paint_tools_cmds.c
* app/pdb/paths_cmds.c
* libgimp/gimppaths_pdb.[ch]: regenerated.
2003-05-15 Sven Neumann <sven@gimp.org>
* app/base/temp-buf.c: added some sanity checks to temp_buf
conversion routines.
* tools/pdbgen/pdb/fileops.pdb (file_load_thumbnail_invoker): use
GimpImagefile to load a thumbnail. Only works for RGB images yet.
This adresses bug #113033.
* app/pdb/fileops_cmds.c: regenerated.
* app/file/file-utils.[ch]: removed file_utils_readXVThumb(). It
is not needed any longer since GimpImagefile also handles the
old-style .xvpics.
* plug-ins/script-fu/scripts/copy-visible.scm: fixed typo.
2003-05-12 Michael Natterer <mitch@gimp.org>
Added support for transforming linked layers, channels
and vectors. Fixes bug #86277.
* app/core/gimpdrawable-transform.[ch]
(gimp_drawable_transform_tiles_flip): added "gdouble axis" and
calculate the resulting drawable offset.
(gimp_drawable_transform_flip): calculate the axis and pass it to
the function above.
(gimp_drawable_transform_[tiles_]affine): reordered parameters.
* app/core/gimpitem.[ch]: added virtual functions GimpItem::flip()
and GimpItem::transform().
* app/core/gimpchannel.c
* app/core/gimplayer.c
* app/vectors/gimpvectors.c: implement flip() and transform().
Note that all functions always transform the whole item,
regardless of a present selection.
* app/core/Makefile.am
* app/core/gimpitem-linked.[ch]: new files containing utility
functions which translate, flip and transform all linked items.
* app/tools/gimpfliptool.c
* app/tools/gimptransformtool.c
* tools/pdbgen/pdb/layer.pdb: use the new gimp_item_linked_*()
functions to translate, flip and transform all linked items.
* tools/pdbgen/pdb/transform_tools.pdb: follow
gimp_drawable_transform_affine() API change.
* app/pdb/layer_cmds.c
* app/pdb/transform_tools_cmds.c: regenerated.
2003-05-09 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: added "gboolean push_undo" to
GimpItem::translate() and don't push and undo in
gimp_item_translate().
* app/core/gimpchannel.[ch]: removed public function
gimp_channel_translate() and implement GimpItem::translate().
* app/core/gimpimage-mask.c
* app/core/gimplayer.c: changed accordingly.
* app/vectors/gimpvectors.c: actually translate the vectors
in translate().
* app/gui/channels-commands.c (channels_new_channel_query): removed
useless call to gimp_channel_translate().
* app/tools/gimpeditselectiontool.c
* tools/pdbgen/pdb/layer.pdb: when translating a linked layer,
also translate all linked channels and vectors. Cleanup.
Note that the "linked" behaviour has changed: before this change,
moving a layer moved all linked layers unconditionally. Now,
linked layers/channels/vectors are moved *only* if the moved layer
is also linked (the linked items behave as a group now and moving
something not in the group does not affect the group).
* app/pdb/layer_cmds.c: regenerated.
2003-05-07 Michael Natterer <mitch@gimp.org>
Started to abstract item transformation so we can easily
transform multiple linked items later:
* app/core/gimpitem.[ch]: added new virtual function
GimpItem::scale() with the same signature as the former
gimp_layer_scale_lowlevel().
* app/core/gimpdrawable.c: implement scale() and do the
common parts of layer/channel scaling here.
* app/core/gimpchannel.[ch]
* app/core/gimplayer.[ch]: implement scale() for the
channel/layer specific parts of scaling.
* app/core/gimplayer.[ch]: renamed gimp_layer_scale() to
gimp_layer_scale_by_origin().
* app/vectors/gimpvectors.c: added empty scale() implementation.
* app/core/gimpimage-scale.c
* app/core/gimpimage-undo-push.c
* app/gui/layers-commands.c
* tools/pdbgen/pdb/layer.pdb: changed accordingly.
* app/pdb/layer_cmds.c: regenerated.
Unrelated:
* app/core/gimpimage-undo-push.c: fixed item rename undo to
take the size of the saved name into account. Removed old
path_undo stuff.
2003-04-14 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb: don't request viewable previews with
a width or height of 0 and don't crash if no preview is returned.
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* libgimp/gimpdrawable_pdb.c: regenerated.
2003-04-08 Michael Natterer <mitch@gimp.org>
* app/core/gimpviewable.[ch]: added vitrual function
GimpViewable::get_description() which returns the string that
should be presented to the user plus an optional tooltip with more
information. The default implementation just returns the object's
name and no tooltip.
* app/core/gimpbrush.c
* app/core/gimpbuffer.c
* app/core/gimpimage.c
* app/core/gimppalette.c
* app/core/gimppattern.c
* app/core/gimptoolinfo.c: implement get_description().
* app/core/gimpimagefile.[ch]: ditto. Renamed
gimp_imagefile_get_description() to
gimp_imagefile_get_desc_string(). Well, um, gimme a better name...
* app/gui/file-open-dialog.c: changed accordingly.
* app/file/file-utils.[ch]: renamed readXVThumb() to
file_utils_readXVThumb().
* tools/pdbgen/pdb/fileops.pdb: changed accordingly.
* app/widgets/widgets-types.h: removed GimpItemGetNameFunc typedef.
* app/widgets/gimpcontainerview-utils.[ch]: removed the the actual
get_name_funcs. They now live in the core as
GimpViewable::get_description() implementations.
* app/widgets/gimpcontainermenu.[ch]
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainermenuimpl.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpcontainerview.[ch]
* app/widgets/gimpmenuitem.[ch]
* app/widgets/gimpviewabledialog.c: removed get_name_func stuff
and use gimp_viewable_get_description().
* app/widgets/gimpcontainermenu.[ch]: added "preview_border_width"
to gimp_container_menu_set_preview_size().
* app/widgets/gimpimagedock.c: changed accordingly.
* app/pdb/fileops_cmds.c: regenerated.
2003-03-30 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-guides.c
* tools/pdbgen/pdb/guides.pdb: fixed to accept guide->position ==
image->width/height. Guides live *between* pixels, so they must be
able to exist right of/below the image's rightmost/bottom pixel.
* app/core/gimpimage-crop.c (gimp_image_crop_adjust_guides):
fixed guide iteration to not crash when the current guide is
removed from the image (fixes bug #109533).
* app/pdb/guides_cmds.c: regenerated.
2003-03-28 Sven Neumann <sven@gimp.org>
* app/gui/Makefile.am
* app/gui/font-select.[ch]: added font selection GUI to be used
through the PDB.
* app/gui/brush-select.c
* app/gui/gradient-select.c
* app/gui/palette-select.c
* app/gui/pattern-select.c: unified preview and dialog sizes.
* tools/pdbgen/Makefile.am
* tools/pdbgen/pdb/font_select.pdb: added new file that provides
PDB accessors to the font selection GUI.
* app/pdb/font_select_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimp_pdb.h
* libgimp/gimpfontselect_pdb.[ch]
* tools/pdbgen/groups.pl: regenerated.
* libgimp/Makefile.am
* libgimp/gimpfontmenu.c
* libgimp/gimpmenu.[ch]: added a simple font selection widget to
be used by plug-ins and scripts.
* plug-ins/script-fu/script-fu-scripts.c: use the new font
selection widget. Fixes bug #105610.
2003-03-28 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-guides.[ch]: added "position" and "push_undo"
parameters to gimp_image_add_[vh]guide(). Start with a refcount
of 1, not 0 (EEK). Added gimp_image_guide_[un]ref(). Added
"position" parameter to gimp_image_add_guide(). Added new
function gimp_image_move_guide(). All functions push guide
undos correctly and call gimp_image_update_guide() so this
doesn't need to be done by callers.
* app/core/gimpimage-crop.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-undo-push.c
* app/core/gimpimage.c
* app/tools/gimpmeasuretool.c
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/guides.pdb: greatly simplyfied all places which
modify guides: don't fiddle with undo and guide properties
manually but simply use the API provided.
* app/tools/gimpmovetool.[ch]: ditto. Changed everything to
create/move the guide on button_release, not button_press. Enable
canceling the operation by clicking button3 before releasing
button1. Keep the guide drawn at its old position until the move
is finished (fixes bug #75349 and bug #109267).
* app/pdb/guides_cmds.c: regenerated.
2003-03-25 Sven Neumann <sven@gimp.org>
* app/text/gimptext.c: include locale.h for setlocale().
* app/base/Makefile.am
* app/core/Makefile.am
* app/display/Makefile.am
* app/widgets/Makefile.am: changed rules that generate enums code
to include gimp-intl.h instead of libgimp-intl.h.
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/*.pdb: include gimp-intl.h.
2003-03-24 Michael Natterer <mitch@gimp.org>
* app/paint/paint-enums.[ch]: register GimpPaintApplicationMode
with the type system.
* app/paint/gimppaintoptions.[ch]: replaced "gboolean incremental"
with "GimpPaintApplicationMode application_mode"
* app/paint/gimpairbrush.c
* app/paint/gimperaser.c
* app/paint/gimppaintbrush.c
* app/paint/gimppencil.c: changed accordingly.
* tools/pdbgen/pdb/paint_tools.pdb: ditto. Set all paint options
values using g_object_set().
* app/widgets/gimppropwidgets.[ch]: added
gimp_prop_enum_check_button_new() which can represent two
specified enum values and renders itself "inconsistent" for all
other values.
* app/tools/paint_options.c: use it for the "Incremental" toggle.
* app/pdb/paint_tools_cmds.c
* tools/pdbgen/enums.pl: regenerated.
2003-03-18 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-mask.[ch] (gimp_image_mask_translate)
* app/core/gimplayer.[ch] (gimp_layer_translate): added
"gboolean push_undo" parameters.
* app/core/gimpimage-crop.c
* app/core/gimpimage-resize.c
* app/display/gimpdisplayshell-dnd.c
* app/gui/layers-commands.c
* app/widgets/gimptoolbox.c
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/selection.pdb: changed accordingly.
* app/pdb/layer_cmds.c
* app/pdb/selection_cmds.c: regenerated.
* app/core/gimpimage-undo-push.c (undo_pop_layer_displace): call
gimp_layer_translate() with "push_undo == FALSE" instead of
duplicating gimp_layer_translate()'s code. Use GimpItemUndo for
GIMP_UNDO_MASK.
* app/tools/gimpeditselectiontool.c
(gimp_edit_selection_tool_cursor_key): check if the top undo on
the stack is of exactly the same type as the undo we would push
and just don't push it then (compresses layer translate undos and
fixes bug #86362). Changed stuff work with CAPS_LOCK or other
modifiers pressed.
2003-03-18 Michael Natterer <mitch@gimp.org>
Added an API for image colormap manupulation and made colormap
changes undoable (fixes bug #25963).
* app/core/Makefile.am
* app/core/gimpimage-colormap.[ch]: new files implementing
colormap getters/setters. The setters push undos using the
new function below.
* app/core/core-enums.[ch]: added GIMP_UNDO_IMAGE_COLORMAP.
* app/core/gimpimage-undo-push.[ch]: added
gimp_image_undo_push_image_colormap(). Use GimpItemUndo even more
often. Cleanup.
* app/core/gimpimage.[ch]: removed gimp_image_get_colormap() here.
* app/core/gimpimage-convert.c
* app/gui/colormap-editor-commands.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimptoolbox.c
* tools/pdbgen/pdb/image.pdb: use the new API.
* app/pdb/image_cmds.c: regenerated.
* plug-ins/common/vinvert.c: removed the comment about the bug,
cosmetic cleanup.
Unrelated:
* app/gui/splash.c: added a frame around the splash. Please eek
if it doesn't please you.
2003-03-17 Michael Natterer <mitch@gimp.org>
Made drawable/layer properties (visibility, opacity etc.)
undoable (fixes bug #73893).
* app/core/core-enums.[ch]: added undo types/groups for
visibility, mode, opacity, linked and preserve_trans.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpitemundo.[ch]: new GimpUndo subclass which holds a
ref'ed GimpItem pointer so (1) this doesn't need to be done by all
undo steps related to an item and (2) the item the undo step is
for can be determined from outside the undo system.
* app/core/gimpimage-undo.[ch]: added gimp_image_undo_push_item()
which returns a new GimpItemUndo.
* app/core/gimpimage-undo-push.[ch]: use it for all item related
undo steps. Removed lots of GimpItem, GimpLayer, GimpDrawable
and GimpVectors pointers from the private undo structs. Added
undo push functions for the new undo types added above.
* app/core/gimpdrawable.[ch] (gimp_drawable_set_visible): added
"gboolean push_undo" parameter.
* app/core/gimplayer.[ch] (gimp_layer_set_opacity, _mode,
_preserve_trans, _linked): added "gboolean push_undo" parameters.
* app/core/gimpimage-mask.c
* app/core/gimpimage-merge.c
* app/core/gimplayer-floating-sel.c
* app/tools/gimpmovetool.c
* app/xcf/xcf-load.c
* app/widgets/gimpdrawablelistitem.c
* app/widgets/gimplayerlistitem.c
* app/widgets/gimplayerlistview.c: changed accordingly.
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/layer.pdb: ditto. Added '$undo' paramaters to
the foo_accessors() functions. Removed $func from foo_accesors()
because we don't manipulate items without using getters/setters
any longer.
* app/pdb/channel_cmds.c
* app/pdb/layer_cmds.c: regenerated.
* app/widgets/gimpcellrenderertoggle.[ch]: added "clicked" signal
which carries an additional "GdkModifierType state" parameter as
in GimpCellRendererViewable .
* app/widgets/gimpcontainertreeview.c: emit "clicked" from
the toggle renderer, not "toggled" so the callbacks get the
modifier state.
* app/widgets/gimpdrawabletreeview.c: resurrected the "exclusive
visible by <shift>+click" feature as in 1.2.
* app/widgets/gimplayertreeview.c: compress layer opacity undos by
looking at the top of the undo stack and not pushing an undo if
there already is a GIMP_UNDO_DRAWABLE_OPACITY for the active
layer.
2003-03-07 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/guides.pdb: allow to add guides with an offset
of 0 (spotted by Paul Doidge, bug #90629).
* app/pdb/guides_cmds.c: regenerated.
2003-03-06 Manish Sing <yosh@gimp.org>
* tools/pdbgen/pdb/guides.pdb: fix find_next_guide to return 0 on
the last guide as documented, instead of failing.
* app/pdb/guides_cmds.c: regenerated
2003-03-06 Michael Natterer <mitch@gimp.org>
* themes/Default/images/stock-delete-16.png
* themes/Default/images/stock-lower-16.png
* themes/Default/images/stock-new-16.png
* themes/Default/images/stock-paste-16.png
* themes/Default/images/stock-raise-16.png
* themes/Default/images/stock-refresh-16.png: removed these files
since we use the icons provided by GTK+ now.
* themes/Default/gtkrc
* themes/Default/images/Makefile.am: removed them here hoo.
* libgimpwidgets/gimpstock.[ch]: reordered stuff to be consistent
in the header and the .c file. Added GIMP_STOCK_ERROR and
GIMP_STOCK_QUESTION which are available in all sizes (unlike
GTK_STOCK_DIALOG_ERROR and GTK_STOCK_DIALOG_QUESTION).
* app/core/gimpviewable.c
* app/display/gimpdisplayshell.c
* app/gui/file-commands.c
* app/gui/file-new-dialog.c
* app/gui/file-save-dialog.c
* app/widgets/gimpwidgets-utils.c
* app/widgets/gimpdatafactoryview.c: use the new stock IDs.
* app/config/gimpcoreconfig.[ch]: renamed "preview_size" to
"layer_preview_size" and added "gboolean layer_previews" which
switches layer previews on/off independent of their size.
* app/config/gimprc-blurbs.h: added/changed their blurbs.
* app/core/core-enums.[ch]: removed GIMP_PREVIEW_SIZE_NONE.
* app/core/gimpdrawable-preview.c
* app/core/gimpdrawable.c
* app/core/gimpimage.c: return NULL previews if
core_config->layer_previews is FALSE. Invalidate all layer/channel
previews whenever "layer_previews" changes.
* app/widgets/gimppreviewrendererdrawable.c
* app/widgets/gimppreviewrendererimage.c: render the stock_id
if the drawable/image returns a NULL preview. Fixes bug #107242.
* app/display/gimpdisplayshell-handlers.c: don't set the
sensitivity of the navigation button because it can no longer be
disabled.
* app/display/gimpdisplayshell-layer-select.c
* app/gui/dialogs-constructors.c
* app/gui/dialogs.c
* app/gui/paths-dialog.c: changed accordingly.
* app/gui/preferences-dialog.c: added a toggle button for the new
"layer_previews" boolean.
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainerlistview.c: chain up unconditionally
in GimpContainerView::clear_items().
* app/widgets/gimpcontainertreeview.c: ditto. Made the reorder()
implementation lengthy and eeky (but working) again... Stop signal
emission on double clicks so GtkTreeView doesn't re-select the
item we are about change.
* app/widgets/gimpcontainerview.c
(gimp_container_view_real_clear_items): need to use
g_hash_table_new_full() here too or everything will b0rk.
* app/widgets/gimppreviewrenderer.c
(gimp_preview_renderer_default_render_stock): use
gtk_widget_render_icon() instead of gtk_icon_set_render_icon().
* tools/pdbgen/enums.pl: this file wanted to be regenerated...