2000-03-08 Tor Lillqvist <tml@iki.fi>
* app/cursorutil.c (gtkutil_compress_motion)
* app/edit_selection.c (process_event_queue_keys): Guard against
gdk_event_get returning NULL (which can happen at least on Win32).
* libgimp/gimp.def: Add a couple of new entry points.
* plug-ins/makefile.{cygwin,msc}: Update according to the source
file changes. Fix some typos in the .msc file.
Fixes by Hans Breuer:
* app/resize.c: Add some more includes.
* libgimp/gimpenv.c
* plug-ins/gflare/gflare.c: Win32 header lossage fixup.
2000-03-07 Michael Natterer <mitch@gimp.org>
* app/disp_callbacks.C: show GIMP_BAD_CURSOR if we have no layers.
Moved the closing bracket out of the GTK_HAVE_SIX_VALUATORS ifdefs
(just to force emacs to do correct indentation).
2000-03-07 Michael Natterer <mitch@gimp.org>
* app/by_color_select.c: immediate cursor_update feedback on
modifier events.
* libgimp/gimpwidgets.c: one more s/private_tip/help_data/
2000-03-04 Michael Natterer <mitch@gimp.org>
* Makefile.am
* cursors/selection_move.xbm
* cursors/selection_move_mask.xbm
* app/cursorutil.[ch]: new cursor for moving the selection
mask. Looks imho nicer than the ugly GDK_DIAMOND_CROSS.
* app/move.c
* app/rect_select.c: use the new cursor.
* app/paint_core.c: check for the statusbar's context_id in the
cursor_update function. Fixes gdk_criticals with the line preview
(which doesn't need a mouse click). Minor cleanups.
* app/tool_options.c: put the paint_pressure options in a
GtkHWrapBox instead of a GtkHBox. Makes the size of the dialog a
bit less locale-dependent.
* plug-ins/common/xbm.c: use accessor functions instead of using
the parasite's fields directly.
2000-03-03 Michael Natterer <mitch@gimp.org>
* app/crop.c: s/"Only"/"only"/
* app/iscissors.c: one more cursor_update fix. This time I don't
claim that it's _really_ correct.
* app/tool_options.c: don't add a separator after
opacity/paint_mode if a paint pressure options box follows.
* cursors/bad.xbm
* cursors/bad_mask.xbm: made it FAT (no need to use thin lines
which show as much as possible of the image below because the
cursor indicates that no operation is possible).
* libgimp/gimpprotocol.[ch]: s/int/gboolean/ where appopriate,
indentation paranoia.
_gp_*_read(): free the already allocated parts of the message if
reading a subsequent part fails. These cleanups will probably occur
shortly before the process crashes, but at least they make the
search for real leaks easier.
* plug-ins/common/uniteditor.c: some more tooltips.
* plug-ins/common/xbm.c: store the image comment in the
"gimp-comment" parasite and the hot spot in the new "hot-spot"
parasite. Added ui for entering the hot spot.
* docs/parasites.txt: documented the new "hot-spot" parasite.
2000-03-03 Michael Natterer <mitch@gimp.org>
* app/iscissors.c: this time cursor_update feedback is _really_
correct: for closed curves, show the "point" cursor if a mouse
click will modify the curve and the "bad" cursor if a mouse click
will do nothing. Seems it was not too hard to understand how it
works...
* plug-ins/common/uniteditor.c: for consistency, did a
s/"Delete","Undelete"/"Don't Save","Save"/.
Thu Mar 2 21:45:17 GMT 2000 Andy Thomas <alt@gimp.org>
* gimp/app/nav_window.c
The "follow display" nav window is now hidden when the
last window is closed.
2000-03-02 Michael Natterer <mitch@gimp.org>
* app/iscissors.c: Iscissors was using rect_select_cursor_update
which is totally wrong since the oper_update_func tool method was
introduced (in fact it didn't even give correct feedback before).
Added oper_update_func, modifier_key_func, cursor_update_func for
Iscissors which give correct cursor_update feedback now. The only
remaining inconsistency occurs when a curve is closed: There's no
way to find out if the mouse is over a control point/line or
outside (without touching the Iscissors engine, which I didn't
want to do because I don't understand how it works ;-).
2000-03-02 Michael Natterer <mitch@gimp.org>
* app/rect_select.[ch]: added a modifier_key_func which gives
immediate cursor_update feedback on modifier key events.
* app/ellipse_select.c
* app/free_select.c
* app/fuzzy_select.c
* app/rect_selectP.h: call the new function.
Added current_[x|y] fields to the tools' structures which get
updated from the "motion" functions. They have to appear in the
same order in all structures because the modifier_key_func treats
them all as rectangular selection tools.
This is ugly and cries for a object hierarchy of tools.
2000-03-01 Michael Natterer <mitch@gimp.org>
* app/gimpdrawable.c: gimp_drawable_get_color_at(): put the check
below back but only require a non-indexed drawable if the drawable
doesn't have an image.
(The function may call gimp_image_get_color() with gimage == NULL
for RGB and GRAY colors because we don't need a colormap to
transform them to RGB space).
This was the obscure special case (TM).
2000-03-01 Michael Natterer <mitch@gimp.org>
* app/gimpdrawable.c: gimp_drawable_get_color_at(): don't
g_return_val_if_fail(!indexed, NULL) because the function seems to
work fine for all kinds of drawables. Fixes#6756. Or is this
check needed for some obscure special case?
2000-03-01 Michael Natterer <mitch@gimp.org>
* Makefile.am
* cursors/*: a proper naming scheme for all cursor files. Added
zoom_in and zoom_out cursors.
* app/bezier_select.c
* app/by_color_select.c
* app/cursorutil.[ch]
* app/rect_select.c
* app/scale.[ch]: changed according to the new cursor names. Some
minor fixes.
* app/magnify.[ch]: made the zoom_in/zoom_out toggle a proper
tool_toggle and show cursors for the two modes.
* plug-ins/print/print-util.c: patch from Robert Kravitz which
fixes printing layers with alpha.
2000-03-01 Michael Natterer <mitch@gimp.org>
* app/gdisplay.c: set <Image>/File/Revert... insensitive if the
image has no filename.
* plug-ins/common/uniteditor.c: minor fix.
2000-03-01 Michael Natterer <mitch@gimp.org>
* C/dialogs/layers/Makefile.am
* C/dialogs/layers/index.html
* C/dialogs/layers/apply_mask.html: removed.
* C/layers/Makefile.am
* C/layers/index.html
* C/layers/apply_mask.html
* C/layers/delete_mask.html: new files.
* app/gimpcontextpreview.c: return without warning if popup_timeout
is already set. Suppresses warning that occured on double-click.
* app/layers_dialog.[ch]
* app/menus.c: added "Delete Mask" menu entry and removed dialog
asking if mask is to applied or discarded on "Apply Mask".
* app/tools.c: Magnify is not a transform tool
--Sven
Mon Feb 28 19:11:39 GMT 2000 Adam D. Moss <adam@gimp.org>
* app/cursorutil.c app/cursorutil.h:
added gtkutil_compress_motion() utility function to seek and
destroy outstanding pointer motion events from the gdk event queue
for a given widget.
* app/edit_selection.c:305: Use gtkutil_compress_motion() to
do a more thorough job of tracking motion (something recently
started interleaving our motion events with others, largely
nullifying the effectiveness of GDK_POINTER_MOTION_HINT_MASK).
* app/edit_selection.c:704: Yikes, the key-press snooping code
was turning part of the event queue back-to-front with each
compressed key-press. (Still looks a bit bogus overall; looks
as though it could transplant a whole chunk of the start of
the event queue right onto the end. I'll probably disable it
unless someone points out that I'm a doofus.)
2000-02-27 Garry R. Osgood <gosgood@idt.net>
* gimp/app/by_color_select.c
* gimp/app/color_picker.c
* gimp/app/gimpdrawable.c
* gimp/app/image_map.c
* gimp/app/paint_core.c
Inadvertent logic error in g_return_val_if_fail()
style sanity checks implemented in
gimp_drawable_get_color_at() gave rise to
segment violation reported in #6624;
error admitted out-of-bounds x&y that
do not map to tiles. Closes#6624.
GTK-critical warnings which result from
this new sanity check require that
gimp_drawable_get_color_at() clients
perform initial culling of out-of-bounds
x & y coordinates.
Sat Feb 26 23:58:27 GMT 2000 Andy Thomas <alt@gimp.org>
* gimp/app/nav_window.c
Now takes note of the users set preview size when close to the
edge of the screen.
If the user selected < MAX size of preview the popup would appear
in the incorrect location of the screen. This is a slight change
to the checkin of Sat Feb 19 13:53:34 CET 2000 by
Sven Neumann <sven@gimp.org>
2000-02-26 Garry R. Osgood <gosgood@idt.net>
* app/commands.c
* app/gimpimage.c
* app/layer.c
* app/layer.h
* app/resize.c
* app/resize.h
Aliasing artifacts that changed relative positions
of layers under scaling, giving rise to #5271, are
minimized by a new layer.c function,
layer_scale_by_factors(). Closes#5271. See
http://idt.net/~gosgood/gimp-patch/patch07.html for
further detail. See also usage documentation for
layer_scale() and layer_scale_by_factors() in
layer.c.
Provided logic for the Scale Image dialog box to
pre-check an image's layers for the possibility that
a particular scaling, s: 0 < s < 1, reduces a layer
dimension to zero. Should this case prevail, a
boolean dialog box warns the user of the
possibility. The user may (1) Cancel, returning
focus to Scale Image and the possibility of
corrective adjustment, or (2) OK the scaling. The
layers that will vanish upon the new scaling are
culled from the GimpImage::layers list first.
* app/fileops_cmds.c
* tools/pdbgen/pdb/fileops.pdb: don't add an already registered
load|save handler twice to the list. This fixes the problem
that extension were listed twice if a load|save plugin changed.
* app/plug_in.[ch]: code cleanup, indentation
* app/xcf.[ch]: same here, include copyright headers
* plug-ins/common/wmf.c: properly cancel the load if the user
pressed Cancel in the dialog (fixes bug #6500)
--Sven
2000-02-24 Michael Natterer <mitch@gimp.org>
* app/paths_dialog.c: we were also leaking all path preview
pixmaps ever created. Always remember that GdkPixmaps are not
created "floating" but with a real refcount of 1. Minor cleanups.
2000-02-24 Michael Natterer <mitch@gimp.org>
* app/gimpbrush.[ch]
* app/gimpbrushgenerated.[ch]
* app/gimpbrushlist.[ch]
* app/gimpbrushlistP.h
* app/gimpbrushpipe.[ch]
* app/gimpbrushpipeP.h: did a brushes code-review: indentation,
removed some includes, didn't find a bug :-)
* app/gradient.c
* app/palette.c: we were leaking all gradient and palette preview
pixmaps as well as all lists of palette colors on each refresh.
* libgimp/gimpenv.c: updated documentation.
2000-02-24 Michael Natterer <mitch@gimp.org>
* app/datafiles.c: fixed a memleak.
* app/gimpbrushlist.c
* app/gradient.c
* app/palette.c: use the gimp_path_* functions, cleanups.
* app/gimpbrushpipe.c: call the "destroy" function of the parent
class, not of the object class. Fixes a huge memleak on each
"Refresh".
* app/gimpbrushpipeP.h
* app/gimplist.c
* app/gimpbrush.c: did some cleanups while searching the brush
memleak.
* libgimp/gimpenv.c: gimp_path_get_user_writable_dir(): return a
copy of the string.
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c: g_free() the string returned by
gimp_path_get_user_writable_dir().
2000-02-24 Tor Lillqvist <tml@iki.fi>
* libgimp/gimp.h (Win32): Include <stdlib.h> for __argc and__argv.
* libgimp/{gimp,gimpui}.def: Add new entry points.
* libgimp/gimpenv.c (Win32): Make compileable, with no geteuid etc.
* app/makefile.{cygwin,msc}
* libgimp/makefile.{cygwin,msc}: Update object file list.
2000-02-23 Michael Natterer <mitch@gimp.org>
* app/file_new_dialog.c: use a gimp_query_boolean_box().
* libgimp/gimpenv.c
* libgimp/gimpquerybox.c: documentation updates.
* libgimp/gimpwidgets.[ch]: changed the widget constructors to
return only the container widget and added access marcos for the
sub-widgets. Added documentation for all functions.
Made gimp_toggle_button_sensitive_update() public so this feature
can be properly documented.
* plug-ins/common/blur.c
* plug-ins/common/gauss_iir.c
* plug-ins/common/gauss_rle.c
* plug-ins/common/plasma.c
* plug-ins/common/randomize.c
* plug-ins/common/snoise.c
* plug-ins/common/spread.c
* plug-ins/common/tile.c
* plug-ins/gflare/gflare.c: updated according to the
gimpwidgets.[ch] changes.
2000-02-23 Michael Natterer <mitch@gimp.org>
* libgimp/libgimp-decl.txt
* libgimp/libgimp-sections.txt
* libgimp/tmpl/gimpenv.sgml
* libgimp/tmpl/gimppixmap.sgml
* libgimp/tmpl/gimpwidgets.sgml: various updates and documentation
for all gimpwidgets.[ch] functions.
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-21 Michael Natterer <mitch@gimp.org>
* app/perspective_tool.c
* app/rotate_tool.c
* app/scale_tool.c
* app/shear_tool.c
* plug-ins/common/gauss_iir.c
* plug-ins/common/gauss_rle.c: fix Solaris compilation problems
reported by Ludovic Poitou <ludovic.poitou@france.sun.com>.
* libgimp/gimppixmap.[ch]: new function gimp_pixmap_set().
* plug-ins/gfig/gfig.c: hacked the ui to use the libgimp widgets &
constructors and slightly reorganized it to use fewer screen
space (not yet perfect). Did a general namespace & code cleanup.
* plug-ins/FractalExplorer/FractalExplorer.c: use a GimpPathEditor
widget.
2000-02-19 Michael Natterer <mitch@gimp.org>
* libgimp/gimppixmap.c: gimp_pixmap_new(): set the widget's
requisition so it can be properly packed before it's realized.
* libgimp/gimpwidgets.[ch]: added a "text" parameter to
gimp_pixmap_button_new().
* app/undo_history.c: use gimp_pixmap_buttons.
* app/gradient.c
* app/nav_window.c
* app/palette.c
* libgimp/gimppatheditor.c
* plug-ins/Lighting/lighting_ui.c
* plug-ins/MapObject/mapobject_ui.c: changed calls to
gimp_pixmap_button_new().
* plug-ins/MapObject/mapobject_main.c: INIT_I18N() was missing in
query().
* plug-ins/pagecurl/pagecurl.c: use GimpVector2 functions instead
of reinventing the wheel.
* plug-ins/helpbrowser/helpbrowser.c: use gimp_pixmap_buttons.
* plug-ins/helpbrowser/back.xpm
* plug-ins/helpbrowser/forward.xpm: cropped.
* app/fuzzy_select.c: ignore motion_events in a time-window of
100ms after the last event. Was intended as a workaround for bug
#5949, but IMO it makes the tool more responsive and easier to
control.
* app/nav_window.c: as a workaround for bug #5955 move the
navigation popup on screen if used to close to the screen borders.
Moving the cursor will make the image scroll by a large amount
eventually, but IMHO this is better than having a nonfunctional
navigation popup.
* plug-ins/common/curve_bend.c
* plug-ins/gap/gap_decode_xanim.c: fixed typos
--Sven
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
2000-02-18 Michael Natterer <mitch@gimp.org>
* libgimp/Makefile.am
* libgimp/gimppixmap.[ch]: simple widget which creates a pixmap
from XPM data without the need to worry about it's parent's
"realized" state and other stuff.
* libgimp/gimpcolorbutton.c: removed a gtk-doc comment from an
internal function.
* libgimp/gimpwidgets.[ch]: new function gimp_pixmap_button_new().
* app/gimpui.h
* libgimp/gimpui.h: include gimppixmap.h.
* app/gradient.c
* app/nav_window.c
* app/palette.c
* libgimp/gimpfileselection.[ch]
* libgimp/gimppatheditor.c
* libgimp/gimpquerybox.c
* plug-ins/FractalExplorer/FractalExplorer.c: use GimpPixmaps.
* plug-ins/Lighting/*
* plug-ins/MapObject/*: some more cleanups: reduced # of includes,
made private functions static, use GimpPixmaps.
* plug-ins/libgck/Makefile.am
* plug-ins/libgck/NEWS
* plug-ins/libgck/README
* plug-ins/libgck/TODO
* plug-ins/libgck/docs/html/gck.html
* plug-ins/libgck/docs/html/gck_application_window.html
* plug-ins/libgck/docs/html/gck_dialog_window.html
* plug-ins/libgck/docs/html/gckmath.html
* plug-ins/libgck/docs/html/gckui.html
* plug-ins/libgck/docs/html/gckvector.html: removed because they
documented files which don't exist any more.
* 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
2000-02-16 Garry R. Osgood <gosgood@idt.net>
*app/paint_funcs.c: replace_pixels() was
naively zeroing RGB components of RGBA pixels
when projecting and compositing paint_core
and currently active layer pixels. Closes
#5947. See bug report, and
http://idt.net/~gosgood/gimp-patch/patch06.html
for further detail.
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-14 Michael Natterer <mitch@gimp.org>
* app/preferences_dialog.c: purely cosmetic.
* libgimp/gimpdialog.c: purely fanatic.
* libgimp/gimpwidgets.c: attach label, scale and spinbutton to the
adjustment returned by gimp_scale_entry_new().
* plug-ins/common/film.c: set reasonable climb_rate's for the
advanced options's spinbuttons.
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-12 Michael Natterer <mitch@gimp.org>
* app/app_procs.c: fix a warning.
* app/menus.c: don't allow the help menu item accelerators to be
changed. Move all ordinary menu items under "<Toolbox>/Xtns"
before the separator without explicitly naming them.
* app/session.[ch]: minor cleanups without changing any logic.
2000-02-12 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/gdisplay_ops.c
* app/gradient.c
* app/palette.c
* plug-ins/gflare/gflare.c: removed the "eek" wilber from all
query boxes except the "Quit the GIMP?" warning.
* libgimp/gimpfileselection.c
* libgimp/gimpunitmenu.c: be a bit more clever with widget signals
(destroy, unmap) which affect the widget's sub-dialogs.
* libgimp/gimphelpui.c: pass a GtkWindow, not a GtkWidget to
gimp_dialog_set_icon().
* libgimp/gimpquerybox.[ch]: added documentation.
2000-02-10 Michael Natterer <mitch@gimp.org>
* libgimp/gimpquerybox.[ch]: as all boolean query boxes are
confirmations for deleting/closing something, I added the "eek"
wilber (you can still disable the pixmap by passing FALSE to the
constructor's "eek" parameter).
* app/app_procs.c
* app/gdisplay_ops.c
* app/gradient.c
* app/palette.c
* plug-ins/gflare/gflare.c: pass eek==TRUE to the boolean query
box 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/gimage.c
* app/paint_funcs.[ch]: Invalidate the color_hash_table used
for rgb->indexed conversions if the colormap of the indexed
image changes. Fixes bug #2683.
--Sven
* 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-10 Michael Natterer <mitch@gimp.org>
* Makefile.am
* pixmaps/wilber.xpm: new file.
* libgimp/gimpdialog.[ch]: uncommented some lines. Depending on
your window manager, you'll figure out what it does without having
to look at the sources...
* app/app_procs.c
* app/gradient.c
* app/menus.c: minor changes to bring the goodie above to all
places. Did dome cleanups.
* app/commands.c: I18N fix.
* app/channels_dialog.c: removed an unused declaration.
* app/menus.c: an attempt to guard us against badly translated
menu_entries which may result in a crash when passed to
gtk_item_factory_parse_path (). This might fix bug #6052.
--Sven
2000-02-08 Michael Natterer <mitch@gimp.org>
* app/by_color_select.c: show our selection mode cursors (REPLACE,
ADD, ...) depending on the modifier state and the "Selection Mode"
toggles in the tool's dialog.
2000-02-08 Michael Natterer <mitch@gimp.org>
* app/gimpdnd.[ch]: added a frame around all dnd previews. Fixed a
memleak (GdkPixmap's must be gtk_pixmap_unref()'ed after adding
them to a GtkPixmap).
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-07 Kelly Lynn Martin <kelly@poverty.bloomington.in.us>
* app/interface.c: restructured toolbox to use a single
gtk_hwrap_box with the added "forced break" functionality to make
the selector boxes not run in with the rest of the tool buttons.
The toolbox should now not cut things off, although if the user
selects a really small toolbox the buttons or selectors may be,
um, difficult to use...
* app/gtkwrapbox.h:
* app/gtkwrapbox.c:
* app/gtkvwrapbox.c (reverse_list_col_children):
* app/gtkhwrapbox.c (reverse_list_row_children): support for
"forced break" functionality needed for toolbox -- will forward
patches to Tim Janik as well
Mon Feb 7 05:04:28 2000 Tim Janik <timj@gtk.org>
* app/gtkhwrapbox.c:
* app/gtkvwrapbox.c: pulled new sources from gle (containing
a fix for kelly's justify==FILL bug).
2000-02-05 Tor Lillqvist <tml@iki.fi>
* gimprc.in: user_install creates the gflare directory as
"gflares" (not "gflare"), so use that form here, too.
* gimprc.win32: Update to match the Unix version.
* app/ops_buttons.c: Include gimpintl.h.
* app/preferences_dialog.c (file_pref_cmd_callback): I18n for the
Pixels/%s string. It used to come out as "Pixels/tuuma" in
Finnish, for instance.
* plug-ins/gflare/gflare.c: Portability.
* libgimp/gimpui.def:
* plug-ins/makefile.{cygwin,msc}
* modules/makefile.{cygwin,msc}: Updates.
2000-02-03 Kelly Lynn Martin <kelly@poverty.bloomington.in.us>
* app/gtkhwrapbox.c (layout_row, layout_rows):
* app/gtkvwrapbox.c (layout_col, layout_cols):
Partial fix for the toolbox problem... it's still not perfect.
2000-02-01 Michael Natterer <mitch@gimp.org>
* app/menus.c
* app/channels_dialog.[ch]
* app/layers_dialog.[ch]
* app/paths_dialog.[ch]: Added an "Edit xxx Attributes..." menu
entry to the dialogs' popup menus.
2000-02-01 Michael Natterer <mitch@gimp.org>
* app/preferences_dialog.c: applied a (modified) patch from Daniel
which removes the useles word "Settings" from the prefs. dialog.
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-28 Michael Natterer <mitch@gimp.org>
* app/main.c: bind the "gimp-libgimp" textdomain to get the
libgimp widget translations. Did some code cleanup.
* libgimp/stdplugins-intl.h: bind "gimp-libgimp".
* libgimp/gimpintl.h: copyright header.
* libgimp/libgimp-intl.h: there is no dgettext_noop() function
(typo/braino).
* libgimp/gimpwidgets.[ch]: one more table attach helper
function. Should probably find a general way for the two
functions.
* plug-ins/common/CML_explorer.c
* plug-ins/common/align_layers.c
* plug-ins/common/scatter_hsv.c
* plug-ins/common/threshold_alpha.c: removed the gtkW_* wrapper
functions. Badly hacked CML_explorer (The optionmenu creation is a
bit more ugly than before but at least consistent with the other
files using the libgimp optionmenu constructor).
2000-01-28 Michael Natterer <mitch@gimp.org>
* libgimp/gimpwidgets.[ch]: added one more option menu constructor
and made the namespace more consistent, minor fixes.
* libgimp/gimpdialog.c
* libgimp/gimpunitmenu.c: minor fixes.
* app/preferences_dialog.c
* plug-ins/borderaverage/borderaverage.c
* plug-ins/common/gif.c
* plug-ins/common/randomize.c: changed according to the above
namespace cleanups.
2000-01-27 Tor Lillqvist <tml@iki.fi>
* app/main.c (on_signal): No need to use an #ifdef for G_OS_WIN32
as the whole function is already bypassed on Win32.
* libgimp/gimp.def
* libgimp/gimpui.def: Updates.
* plug-ins/makefile.cygwin
* plug-ins/makefile.msc: Goodbye to the megawidget library.
* plug-ins/common/papertile.c: MAIN() must be after PLUG_IN_INFO
definition.
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.
2000-01-26 Michael Natterer <mitch@gimp.org>
* app/preferences_dialog.c: forgot to correctly set the
tile_cache_size. Only apply show_tool_tips and tile_cache_size if
the prefs settings are not currupt.
2000-01-26 Michael Natterer <mitch@gimp.org>
* app/preferences_dialog.c: made the handling of the values which
can't be changed on the fly consistent:
- Some of the widget callbacks were connected to gimprc variables
instead of pref dialog's "edit_" variables.
- Correctly assign value, edit_value, old_value and save_value for
all of them.
- Separated them from the other values in all functions.
- Reduced the endless "if" madness in some callbacks.
2000-01-26 Michael Natterer <mitch@gimp.org>
* app/preferences_dialog.c: use the int adjustment callback from
libgimp, simplified the confirm dialog signal callbacks.
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.
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.
2000-01-25 Michael Natterer <mitch@gimp.org>
* configure.in
* po-plug-ins/POTFILES.in
* plug-ins/common/Makefile.am
* plug-ins/common/plugin-defs.pl
* plug-ins/megawidget/*: removed. (There were only 3 functions
left which were used by ~5 plugins, so I moved the resp. functions
to the plugins). More preview stuff to come...
* app/airbrush_blob.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: use G_PI instead of M_PI.
* app/procedural_db.h
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: new PDB return value STATUS_CANCEL which
indicates that "Cancel" was pressed in a plugin dialog. (Useful
only for file load/save plugins).
* app/fileops.[ch]
* app/menus.c: changes to handle STATUS_CANCEL correctly. Did some
code cleanup in fileops.[ch]. Pop up a warning if File->Save
failed.
* app/plug_in.c: return_val[0] is of type PDB_STATUS, not
PDB_INT32.
* libgimp/gimpmath.h: new constant G_MAXRAND which equals to
RAND_MAX if it exists or to G_MAXINT otherwise.
* libgimp/gimpwidgets.[ch]: new function gimp_random_seed_new()
which creates a spinbutton and a "Time" toggle.
Call the function which does the "set_sensitive" magic from the
radio button callback.
* plug-ins/[75 plugins]:
- Return STATUS_CANCEL in all file load/save dialogs if "Cancel"
was pressed.
- Standardized the file plugins' "run" functions.
- Use G_PI and G_MAXRAND everywhere.
- Added tons of scales and spinbuttons instead of text entries.
- Applied uniform packing/spacings all over the place.
- Reorganized some UIs (stuff like moving the preview to the top
left corner of the dialog).
- Removed many ui helper functions and callbacks and use the stuff
from libgimp instead.
- I tried not to restrict the range of possible values when I
replaced entries with spinbuttons/scales but may have failed,
though in some cases. Please test ;-)
- #include <libgimp/gimpmath.h> where appropriate and use it's
constants.
- Indentation, s/int/gint/ et.al., code cleanup.
RFC: The plugins are definitely not useable with GIMP 1.0 any
more, so shouldn't we remove all the remaining compatibility
stuff ??? (like "#ifdef GIMP_HAVE_PARASITES")
* 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
Sat Jan 22 22:14:18 GMT 2000 Austin Donnelly <austin@gimp.org>
* MAINTAINERS: update my entry.
* PLUGIN_MAINTAINERS: I maintain newsprint.
* app/fuzzy_select.c: fix so if you move the pointer back to
where you started, the selection is also the same. Can people
(tigert?) give this a spin - if it isn't as intuitive as the
old way we should roll this back.
* plug-ins/common/jpeg.c: use volatile to get rid of "clobber"
warnings from GCC. Also, fix handling of multiple COM
sections, so can load images such as
/usr/share/pixmaps/backgrounds/space/clem_full_moon_strtrk.jpg or
/usr/share/pixmaps/backgrounds/space/apollo08_earthrise.jpg
which used to segv the jpeg plugin.
* plug-ins/common/newsprint.c: update my email address.
* plug-ins/common/ps.c: applied gimp-kirchgessner-000116-0.patch:
save using PostScript level 2 features which result in files
60% smaller than naive level 1 method. Peter added a
checkbutton to the UI to revert to level 1 algorithm, but we
default to level 2. Almost everyone should have a level 2
printer, new printers and ghostscript are level 3 these days.
2000-01-19 Garry R. Osgood <gosgood@idt.net>
* gimp/app/disp_callbacks.c
* gimp/app/ellipse_select.c
* gimp/app/free_select.c
* gimp/app/fuzzy_select.c
* gimp/app/rect_select.c
* gimp/app/rect_select.h
* gimp/app/rect_selectP.h
* gimp/app/tools.c
* gimp/app/tools.h
* gimp/app/toolsF.h
Boolean selection operations, (adding to,
subtracting from, or intersecting with
pre-existing functions) now occur regardless
of the setting of "Disable Cursor Update"
toggle button in Interface/Image Window
category. Introduced a new tool action type,
OperUpdateFunc, To provide a distinct context
for such activity. see
http://idt.net/~gosgood/gimp-patch/patch05.html
for full details. Closes#2568.
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()
2000-01-13 Michael Natterer <mitch@gimp.org>
* app/gimpui.[ch]
* app/preferences_dialog.c: removed & renamed some functions from
gimpui.[ch] (see below).
* libgimp/Makefile.am
* libgimp/gimpwidgets.[ch]; new files. Functions moved from
app/gimpui.[ch]. Added a constructor for the label + hscale +
entry combination used in many plugins (now hscale + spinbutton).
* libgimp/gimpui.h: include gimpwidgets.h
* plug-ins/megawidget/megawidget.[ch]: removed all functions
except the preview stuff (I'm not yet sure how to implement this
in libgimp because the libgimp preview should be general enough to
replace all the other plugin previews, too).
* plug-ins/borderaverage/Makefile.am
* plug-ins/borderaverage/borderaverage.c
* plug-ins/common/plugin-defs.pl
* plug-ins/common/Makefile.am
* plug-ins/common/aa.c
* plug-ins/common/align_layers.c
* plug-ins/common/animationplay.c
* plug-ins/common/apply_lens.c
* plug-ins/common/blinds.c
* plug-ins/common/bumpmap.c
* plug-ins/common/checkerboard.c
* plug-ins/common/colorify.c
* plug-ins/common/convmatrix.c
* plug-ins/common/cubism.c
* plug-ins/common/curve_bend.c
* plug-ins/common/deinterlace.c
* plug-ins/common/despeckle.c
* plug-ins/common/destripe.c
* plug-ins/common/displace.c
* plug-ins/common/edge.c
* plug-ins/common/emboss.c
* plug-ins/common/hot.c
* plug-ins/common/nlfilt.c
* plug-ins/common/pixelize.c
* plug-ins/common/waves.c
* plug-ins/sgi/sgi.c
* plug-ins/sinus/sinus.c: ui updates like removing megawidget,
using the dialog constructor, I18N fixes, indentation, ...
* 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