2000-02-22 Michael Natterer <mitch@gimp.org>
* app/gimpcontext.[ch]: it's more intelligent to implement the
parent_context stuff with gtk_signal_connect_object() instead of
having internal callbacks for each context attribute.
Exported the existing gimp_context_*_changed() functions and
changed them to do nothing but emitting the signal.
* app/app_procs.c
* app/tools.c
* app/transform_tool.c: use gimp_context_tool_changed() instead of
gtk_signal_emit_by_name().
2000-02-22 Michael Natterer <mitch@gimp.org>
* app/color_area.[ch]
* app/interface.c: pass masks for the "default" and "swap" pixmaps
to the color_area constructor and use them to create a clip mask
in color_area_draw().
* app/datafiles.[ch]: some harmless cleanups.
* libgimp/gimppixmap.c: use gtk_pixmap_set_build_insensitive()
instead of accessing the field directly.
2000-02-21 Michael Natterer <mitch@gimp.org>
* libgimp/gimppixmap.c: fixed a gtk-doc comment.
* libgimp/gimpenv.[ch]: new functions:
- gimp_path_parse(): Creates a GList of strings from a searchpath
string and performs sanity checks.
- gimp_path_to_str(): Creates a searchpath string from the list
returned by gimp_path_parse().
- gimp_path_free(): Frees the list returned by gimp_path_parse().
- gimp_path_get_user_writable_dir(): Returns the first dir in a
path where the user has write access. With this function the
"Save" dialogs of some plugins always show the plugin's
subdirectory of the user's gimp_dir instead of the read-only
global one.
* app/datafiles.[ch]
* app/gimpbrushlist.c: use the new functions and
s/datafile_loader_t/GimpDataFileLoaderFunc/.
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/FractalExplorer/FractalExplorer.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c
* plug-ins/gimpressionist/gimpressionist.c: use the new functions.
2000-02-18 Michael Natterer <mitch@gimp.org>
* app/paint_options.h
* app/tool_options.h: put the pointer to tool's private context to
the PaintOptions structure instead of attaching it to the
paint_mode optionmenu (which does not exist for all paint tools
which have a private context). Fixes bug #6308.
* app/Makefile.am: forgot to exclude airbrush_blob.[ch] from the build
* app/gimpbrushgenerated.c
* app/ink.c
* app/measure.c
* app/rotate_tool.c: use gimp_rad_to_deg and gimp_deg_to_rad macros
--Sven
* tools/pdbgen/*.pl: added 2000 to the copyrights
* tools/pdbgen/lib.pl: it's foo_pdb.[ch] now
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/parasite.pdb: reenabled sanity checks for the
drawable IDs and the parasite names
* app/drawable.c
* app/gimpdrawable.c: added a bunch of g_return_if_fail's, instead
of the silent check and return in many functions. This should also
be done in gimpimage.c and the like too.
* app/gimpdrawable.h
* app/layer.c: cosmetic code fix
-Yosh
paths.c and did a general namespace cleanup:
s/PATHP/Path*/ s/PATHIMAGELISTP/PathList/ and friends.
Paths are now copied on image duplicate (fixes bug #5726).
Removed Path Tool and XInput Airbrush from the build and
renamed "Layers & Channels" to "Layers, Channels & Paths".
Applied patch from Wolfgang Hofer to xjt.c that enables loading
and saving of paths based on Andy's change explained below.
--Sven
Tue Feb 15 23:27:42 GMT 2000 Andy Thomas <alt@gimp.org>
* gimp/app/gimpdrawable.c
* gimp/app/channel.c
* gimp/app/layer.c
* gimp/app/channel.h
* gimp/app/layer.h
* gimp/app/gimpimage.c
* gimp/app/gimpimage.h
* gimp/app/gimpdrawable.h
* gimp/tools/pdbgen/pdb/paths.pdb
* gimp/tools/pdbgen/pdb/layer.pdb
* gimp/tools/pdbgen/pdb/channel.pdb
* gimp/tools/pdbgen/pdb/gimage.pdb
* gimp/app/channel_cmds.c
* gimp/app/gimage_cmds.c
* gimp/app/internal_procs.c
* gimp/app/layer_cmds.c
* gimp/app/paths_cmds.c
New gimp_*_set_tattoo procedures. This allows save/load plugins
to save/restore tattoo states of layers, channels and paths. Note the
internal tattoo state can also be set, however rigorous checks are
performed to make sure that the internal tattoo states of layer,
channels and paths are consistent and that the new state value is
newval > MAX(MAX(layertattoo),MAX(channeltattoo),MAX(pathtattoo)).
2000-02-15 Tor Lillqvist <tml@iki.fi>
* libgimp/gimp.def
* libgimp/gimpui.def
* libgimp/makefile.{cygwin,msc}
* app/makefile.{cygwin,msc}
* plug-ins/makefile.{cygwin,msc}: Updates.
* app/datafiles.c (is_script): New Win32-only function, which
tests if a file's extension matches one of the extensions in the
PATHEXT environment variable (which the cmd.exe command
interpreter also uses). This is to avoid starting applications
associated with any random data file the user might have dropped
in the plug-ins folder, while still supporting plug-ins written in
scripting languages.
* app/gimpparasite.c (gimp_parasiterc_save): (Win32:) Cannot
rename to an existing file.
* plug-ins/Lighting/lighting_image.c
* plug-ins/Lighting/lighting_share.c
* plug-ins/MapObject/mapobject_preview.c
* plug-ins/MapObject/mapobject_shade.c: Use G_PI.
* plug-ins/common/gz.c: #ifdef G_OS_WIN32 was used before its
potential definition via glib.h.
* plug-ins/common/jpeg.c: Also recognize Exif files, which are
typically produced by digital cameras. The usually have a .jpg
file name extension, and would thus already match this plug-in,
but add the magic string just in case. They are loaded just fine
by libjpeg even if they don't have the JFIF signature.
* plug-ins/common/tiff.c: Set TIFF warning and error handler, so
we get to pass libtiff's messages through the normal channels.
2000-02-14 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/vector2d.[ch]: removed.
* app/gimpbrush.h
* app/paint_core.c: use the vectors from libgimp.
2000-02-13 Michael Natterer <mitch@gimp.org>
* po/POTFILES.in
* app/Makefile.am
* app/buildmenu.[ch]: removed.
* app/blend.c
* app/brush_select.c
* app/curves.c
* app/histogram_tool.c
* app/layers_dialog.c
* app/lc_dialog.c
* app/levels.c
* app/paint_options.h
* app/paintbrush.c
* app/tool_options.c: use the libgimp option menu
constructor. Removed paint_mode_menu_set_history().
* app/colormap_dialog.i.c
* app/colormap_dialog.p.h: use a popup menu as in the palette
dialog instead of a pulldown menu.
* app/channels_dialog.c: made color dnd to a channel widget work
again.
* libgimp/gimpwidgets.[ch]: new function
gimp_option_menu_set_history() which sets the history according to
user_data as passed to gimp_option_menu_new().
2000-02-13 Michael Natterer <mitch@gimp.org>
* app/brush_select.c
* app/paint_options.h
* app/tool_options.c: use new function
paint_mode_menu_set_paint_mode() instead of
gtk_option_menu_set_history() because the order of paint modes in
the menu is different from the one in the LayerModeEffects enum
(fixes bug #6190). Create the menu with the libgimp menu
constructor.
2000-02-10 Michael Natterer <mitch@gimp.org>
* app/gimpui.[ch]: removed the query boxes.
* po-libgimp/POTFILES.in
* libgimp/Makefile.am
* libgimp/gimpui.h
* libgimp/gimpquerybox.[ch]: new files. Added a boolean query box
to get rid of all those handmade "yes/no" query dialogs. Changed
the query box callback prototypes to return the entered value
instead of a pointer to it.
* app/commands.c
* app/display_ops.c
* app/gradient.c
* app/palette.c
* app/paths_dialog.c: correctly call the new query box functions
and use the boolean query box instead of inventing this wheel over
and over again.
* app/global_edit.[ch]: same as above and cleaned up the public
interface.
* app/edit_selection.c: Finally moved selections snap to the
guides again. Layer moves are slightly faster than before, if no
guides are present.
* app/gdisplay.c
* app/gdisplay.h
* app/gdisplayP.h: Use doubles for snap_to_point. Less rounding
makes the result much better on low resolution. If it snaps, the
result should be exactly the guide in almost all cases now. Only
at very low resolutions, you may end up with an error of 1 pixel.
Some code cleanup while I was on it... Fixes bug #2353.
--Sven
2000-02-07 Michael Natterer <mitch@gimp.org>
* app/*
* libgimp/*
* plug-ins/*
* tools/pdbgen/*: did a global s/GUnit/GimpUnit/ and
s/GimpSizeEntryUP/GimpSizeEntryUpdatePolicy/
* libgimp/gimpcolorspace.c: renamed the parameter names to match
the names in the header.
* libgimp/gimphelpui.h
* libgimp/gimpimage.c
* libgimp/gimpmatrix.h
* libgimp/gimpsizeentry.[ch]
* libgimp/gimpsizeentry.[ch]
* libgimp/gimpunit.[ch]
* libgimp/gimpunitmenu.[ch]
* libgimp/gimpwidgets.[ch]: added documentation and use g* types
all over the place (enables cross-referencing with the glib and
gtk+ html documentation).
* plug-ins/common/exchange.c
* plug-ins/common/max_rgb.c: small cleanups.
* plug-ins/common/mapcolor.c: the color buttons were attached in
the wrong order.
2000-02-01 Michael Natterer <mitch@gimp.org>
* libgimp/gimpwidgets.[ch]: merged the table attach helper
functions into one function.
* app/*
* plug-ins/*: changed the calls to gimp_table_attach_aligned()
accordingly. Did minimal ui updates (spacing and stuff) in some
files.
* app/brush_select.c
* app/gradient_select.c: create the dialog at mouse position if not
the main dialog (which is session-managed)
* app/convert.c: small UI changes
* app/gradient.c: don't include session.h
* app/session.c: the gradient_select dialog is not the gradient_editor
--Sven
2000-01-25 Michael Natterer <mitch@gimp.org>
* app/appenv.h: removed BOUNDS, MINIMUM and MAXIMUM. No need to
include both <glib.h> and <gtk/gtk.h>.
* app/*
* tools/pdbgen/pdb/text_tool.pdb: s/BOUNDS/CLAMP/,
same for MIN and MAX.
* app/preferences_dialog.c: the "Check Size" widget was connected
to the transparency_type variable.
* plug-ins/common/sobel.c: removed definitions of MIN and ROUND.
* libgimp/gimp.h: #include "gimplimits.h" and "gimpcolorspace.h".
* plug-ins/*: don't include the two files.
* acconfig.h
* configure.in
* libgimp/Makefile.am
* libgimp/gimpregex.h
* libgimp/regex.c
* app/Makefile.am
* app/regex.[ch]
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/regex.[ch]
* plug-ins/script-fu/interp_regex.c
* tools/pdbgen/pdb/plug_in.pdb
* tools/pdbgen/pdb/procedural_db.pdb: reverted previous regex move
patch. This does *not* belong in libgimp and is just bloat. We'll
use the regex functionality in glib once it has it.
* acinclude.m4
* config.guess
* config.sub
* ltconfig
* ltmain.sh: upgrade to libtool 1.3.4
* app/convert.c
* app/gimpbrushpipe.c: minor cleanups
-Yosh
the way it is used. As the new name suggests it is only used
to count the number of displays associated with an image. It
is now impossible to delete an image that has an associated
display. You have to delete the display instead. Before this
change it was possible to delete an image through the PDB that
was created through the UI and bad things happened soon...
--Sven
2000-01-16 Garry R. Osgood <gosgood@idt.net>
* app/global_edit.c
global_edit.c: Uncovered buglet spawned by #5045 fix.
edit_paste() now properly supplies a GimpImageType
parameter in the case where a GimpImage has no
active_drawable: occurs when the user invokes a
paste into an empty image.
2000-01-15 Garry R. Osgood <gosgood@idt.net>
* app/layers_dialog.c
* app/global_edit.c
layers_dialog.c:layers_dialog_flush() now has
only one entry and exit point, so that
suspend_gimage_notify is properly maintained.
Has bearing on (but likely does not fully solve)
bugs #4031, #4914, and #4927. see
http://idt.net/~gosgood/gimp-patch/patch04.html
and bug reports.
global_edit.c: edit_paste_as_new() now checks
if it has a valid layer from layer_new_from_tiles()
* app/layer.c: in layer_new_from_tiles check if image_type has alpha
to avoid obscure bugs if the function is not called correctly
* app/text_tool_cmds.c
* tools/pdbgen/pdb/text_tool.pdb: added a hint about using border = -1
to suppress cropping of empty spaces around the text
--Sven
2000-01-11 Garry R. Osgood <gosgood@idt.net>
* app/disp_callbacks.c
* app/gimage_mask.c
* app/global_edit.c
* app/interface.c
* app/layer.c
* app/layer.h
* app/transform_core.c Followup to #4708. Some clients
of layer_new_from_tiles() need to specify the
kind of layer they need; added a GimpImageType
parameter for this purpose. Closes#5045.
* app/paths_dialog.c paths_dialog_set_default_op()
now checks for the existence of the path_dialog
before manipulating its internals. Closes#5049;