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-21 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.[ch]: added GimpDrawable::alpha_changed()
signal.
* app/core/gimpimage-undo-push.c
* app/core/gimplayer.c: emit it when alpha is removed from or
added to a layer.
* app/widgets/gimpcontainertreeview.[ch]: added a
"name_attributes" column to the list store which provides a
PangoAttrList for the name column.
* app/widgets/gimplayertreeview.[ch]: connect to all layers'
"alpha_changed" and set the BG layer's name to bold.
* app/widgets/gimpdrawabletreeview.c: removed redundant assertions.
2003-05-21 Simon Budig <simon@gimp.org>
* app/core/gimpscanconvert.[ch]: Extended to be able to handle
multiple polygons in a sane way.
* app/core/gimpimage-mask-select.c: Use this to convert
multiple-stroke vectors objects to selections. Libart rocks!
* app/tools/gimpiscissorstool.c: Changed accordingly.
(The previous commit did not run cleanly)
2003-05-21 Simon Budig <simon@gimp.org>
* app/core/gimpscanconvert.[ch]: Extended to be able to handle
multiple polygons in a sane way.
* app/core/gimpimage-mask-select.c: Use this to convert
multiple-stroke vectors objects to selections. Libart rocks!
* app/tools/gimpiscissorstool.c: Changed accordingly.
2003-05-20 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-undo-push.c (undo_pop_layer_mod): call
gimp_layer_invalidate_boundary() because the layer extents may
change.
* app/core/gimpitem-linked.c: pass clip_result == TRUE when
rotating linked channels.
* app/core/gimpdrawable-transform.c: implement clip_result so
linked channels can be rotated without leaving the image in an
inconsistent state. Added utility function
gimp_drawable_transform_rotate_point().
2003-05-20 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.[ch]
* app/display/gimpdisplayshell-callbacks.c: removed padding_gc from
the GimpDisplayShell struct. Don't draw the padding color manually.
* app/display/gimpdisplayshell-appearance.c
(gimp_display_shell_set_padding): set the canvas background color
using gdk_window_set_background().
2003-05-20 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.c (gimp_channel_rotate): don't default to
clip_result == TRUE (unlike the other transform functions).
* app/core/gimpdrawable-transform.c
(gimp_drawable_transform_tiles_rotate): fixed offset calculation.
* app/core/gimpimage-rotate.c: change the image size *after* all items
are rotated. Adjust all items' offsets after rotation. Rotate the
resolutions too. Seems to work now and fixes bug #6101.
* app/core/gimpimage.c (gimp_image_size_changed): emit
"size_changed" on all vectors.
* app/core/gimpitem-linked.[ch]: added gimp_item_linked_rotate().
* app/gui/drawable-commands.c: flip and rotate linked items too.
* app/vectors/gimpvectors.c (gimp_vectors_rotate): fixed rotation
angles.
Unrelated:
* app/core/gimpimage-merge.c: don't #include "path.h".
2003-05-20 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-flip.c: no need to include gimp-intl.h.
* app/core/gimpimage-rotate.c: change the image size if needed;
implemented rotation of guides.
* app/vectors/gimpvectors.c: implemented rotation of vectors.
2003-05-20 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-undo-push.c: remember the guide's orientation
in the guide undo. Needed for gimp_image_rotate().
2003-05-20 Sven Neumann <sven@gimp.org>
* app/core/core-enums.[ch]: added new enum GimpRotationType.
* app/core/Makefile.am
* app/core/gimpimage-rotate.[ch]: new files.
* app/core/gimpchannel.c
* app/core/gimpdrawable-transform.[ch]
* app/core/gimpdrawable.c
* app/core/gimpitem.[ch]
* app/core/gimplayer.c
* app/vectors/gimpvectors.c: added GimpItem::rotate. Still work in
progress.
* plug-ins/common/rotate.c: don't install any menu entries. The
plug-in is only kept around to provide plug_in_rotate for backward
compatibility.
* app/gui/drawable-commands.[ch]
* app/gui/image-commands.[ch]
* app/gui/image-menu.c: use the new rotate implementation and use
stock icons for the menu entries. Fixes bug #57797.
2003-05-20 Michael Natterer <mitch@gimp.org>
Some color API cleanup:
* libgimpcolor/gimpcolortypes.h: added struct GimpHSL. All values
are doubles in a [0.0..1.0] range.
* libgimpcolor/gimpcolorspace.[ch]: changed the GimpRGB <-> HSL
functions to use the new struct instead of separate hue, saturation
and lightness doubles. Note that the hue range has changed from
[0.0..360.0] to [0.0..1.0].
* app/base/colorize.c (colorize_calculate)
* plug-ins/common/AlienMap2.c (transform): changed accordingly.
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 Michael Natterer <mitch@gimp.org>
* libgimpcolor/gimpcolorspace.c (gimp_hsl_to_rgb): fixed to work
like gimp_hls_to_rgb_int() (does the right thing now for the
saturation == 0 case). Some minor cleanups.
Implemented "Colorize" as suggested in bug #20509. It's not a
toggle in the "Hue/Saturation" tool dialog (which would be a gross
hack IMHO) but a separate tool. Fixes bug #20509.
* app/base/Makefile.am
* app/base/base-types.h
* app/base/colorize.[ch]: the actual mapping function lives
here. Its algorithm was taken from the "colorify" plug-in.
* app/tools/Makefile.am
* app/tools/gimpcolorizetool.[ch]: the tool.
* app/tools/tools.c: register it.
* app/gui/dialogs.c: session-manage its dialog.
* libgimpwidgets/gimpstock.[ch]
* themes/Default/images/Makefile.am
* themes/Default/images/tools/stock-tool-colorize-16.png
* themes/Default/images/tools/stock-tool-colorize-22.png: new
icons from Jimmac.
Unrelated:
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: don't #include "tool_manager.h"
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-19 Simon Budig <simon@gimp.org>
* app/vectors/gimpbezierstroke.[ch]: Implemented closed paths. Not
yet available in a sane manner via the UI. Added the last missing
line from gimp_bezier_stroke_interpolate ().
* app/tools/gimpvectortool.c: Changed accordingly
* app/vectors/gimpstroke.[ch]
* app/vectors/gimpvectors.[ch]: removed Tabs.
2003-05-19 Michael Natterer <mitch@gimp.org>
* app/xcf/xcf-load.c (xcf_load_channel): set gimage->qmask_state
to TRUE if a channel's name is "Qmask". Fixes bug #113240.
2003-05-18 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-guides.c (gimp_image_snap_rectangle): snap
correctly to the bottom and right sides of the rectangle. Also
snap to the closer guide if we snap twice on one axis.
Fixes bug #113233.
All snapping functions: use ROUND() instead of truncating the
double coords.
2003-05-18 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): update the cursor on
GDK_ENTER_NOTIFY.
* app/display/gimpdisplayshell-cursor.c
(gimp_display_shell_update_cursor): argh, "0" coordinates are
*inside* the canvas.
Together fixes bug #113239.
2003-05-18 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-convert.c (gimp_image_convert): push a
colormap undo if the image was INDEXED. Fixes bug #113236.
Minor Cleanups.
2003-05-18 Michael Natterer <mitch@gimp.org>
Implemented "Flip Image". Fixes bug #23179:
* app/core/core-enums.[ch]: added GIMP_UNDO_GROUP_IMAGE_FLIP.
* app/core/Makefile.am
* app/core/gimpimage-flip.[ch]: new files implementing
gimp_image_flip().
* app/gui/image-menu.c
* app/gui/image-commands.[ch]: added it to the "Image" menu.
* themes/Default/images/Makefile.am
* themes/Default/images/stock-flip-horizontal-16.png
* themes/Default/images/stock-flip-vertical-16.png
* libgimpwidgets/gimpstock.[ch]: added icons for the new
menu items.
Bugs found while hacking the stuff above:
* app/core/gimpdrawable-transform.c (gimp_drawable_transform_paste):
only call gimp_layer_add_alpha() if the pasted tiles have alpha.
* app/core/gimpimage-undo-push.c (undo_pop_channel_mod): fixed to
do the right thing if the channel is the selection mask.
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-18 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-dnd.[ch]
* app/display/gimpdisplayshell.c: enabled dropping of vectors to
the display to copy them between images.
2003-05-18 Michael Natterer <mitch@gimp.org>
* app/core/gimpmarshal.list: added BOOLEAN: OBJECT, POINTER.
* app/widgets/gimpcontainerview.[ch]: added a boolean return
value to GimpContainerView::select_item() which indicates if
the select operation was successful.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c: changed accordingly.
* app/widgets/gimpdrawabletreeview.c: ditto. Removed the
tree_view's select_function because it was only constraining the
widget, not the underlying select operation. Instead, implement
GimpContainerView::select_item() and disallow anything but the
floating selection to be selected. Also re-enabled the
"floating_selection_changed" callback and explicitely set the
active item so the button states get updated. Fixes bug #112487.
2003-05-18 Michael Natterer <mitch@gimp.org>
* app/vectors/gimpvectors.[ch]: added new function
gimp_vectors_convert() which duplicates a GimpVectors for another
image.
* app/widgets/gimpvectorstreeview.c
(gimp_vectors_tree_view_class_init): use it as
GimpItemTreeView::convert_item() implementation. Enables
DND-copying of vectors between images.
2003-05-18 Michael Natterer <mitch@gimp.org>
* app/core/gimplayer.c (gimp_layer_new_from_drawable): call
gimp_item_set_image() on the new layer's mask too if it exists.
2003-05-17 Michael Natterer <mitch@gimp.org>
Fixed File->Revert, which was completely broken before:
* app/gui/file-commands.c (file_revert_confirm_callback): set the
new image on all GimpContexts which had the old image set. Unref
the new image after the displays are reconnected.
Added some paranoia code for similar future situations (the
functions below were not broken, but affected by the above bug):
* app/display/gimpdisplay-handlers.c (gimp_display_disconnect):
set gdisp->gimage to NULL before unrefing the image.
* app/widgets/gimpimagedock.c (gimp_image_dock_image_changed):
unref the gimage pointer returned by g_object_get() only if it is
non-NULL. Cleanup.
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>
* app/gui/color-notebook.[ch]: added dialog_factory and
dialog_identifier parameters to the constructors and register the
color_notebook with the passed factory as foreign dialog.
* app/widgets/gimpcolorpanel.c: changed accordingly.
* app/gui/dialogs.c
* app/gui/colormap-editor-commands.c
* app/gui/gradient-editor-commands.c
* app/gui/palette-editor-commands.c
* app/widgets/gimptoolbox-color-area.c: added session management for
the color notebooks created here.
2003-05-16 Michael Natterer <mitch@gimp.org>
* app/gui/vectors-commands.c (vectors_sel_to_vectors_cmd_callback):
call vectors_selection_to_vectors() instead of #warning about
being unimplemented.
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 Michael Natterer <mitch@gimp.org>
* app/gui/vectors-commands.[ch]: added new function
vectors_selection_to_vectors() which invokes the sel2path Plug-In.
* app/gui/dialogs-constructors.c: make the new function known to
GimpVectorTreeView.
* app/widgets/gimpvectorstreeview.[ch]: Added a "Selection to Path"
button anc call the new function.
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-15 Michael Natterer <mitch@gimp.org>
* app/xcf/xcf-save.c: cleaned up the old path saving functions
just as the old path loading ones. Don't use g_slist_foreach() but
do everything in one functions. Added error checking for path
saving.
2003-05-15 Michael Natterer <mitch@gimp.org>
* app/xcf/xcf-load.c (xcf_load_old_path): the old paths actually
*do* support multiple strokes, they are just all in one curve.
Added support for loading them as separate GimpBezierStrokes.
2003-05-15 Michael Natterer <mitch@gimp.org>
* app/vectors/gimpbezierstroke.c
(gimp_bezier_stroke_new_from_coords): actually increment the coord
index when iterating the coords array. Fixes bug #113049.