2006-09-01 Michael Natterer <mitch@gimp.org>
Extended the GIMP Gradient file format to contain the endpoint
color types for each segment (this is backward compatible because
old parsers just ignore excess fields at the end of segment
lines). Fixes bug #128367.
* app/core/gimpgradient-load.c: optionally load two more fields
per segment line which contain the color types.
* app/core/gimpgradient-save.c: save the color types at the end of
the segment lines.
2006-09-01 Michael Natterer <mitch@gimp.org>
* app/actions/gradient-editor-actions.c
* app/actions/gradient-editor-commands.[ch]: added actions and
callbacks to select a gradient segment's left and right color
type. Handle FG/BG color correctly in a few places. Use
GimpDataEditor's context instead of the user context.
* menus/gradient-editor-menu.xml: added the actions to the menu.
Cleanup:
* app/actions/palette-editor-actions.c
* app/actions/palette-editor-commands.c: use GimpDataEditor's
context instead of the user context.
* app/actions/brush-editor-actions.c: remove unused context
variable.
2006-08-31 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainerview.c
(gimp_container_view_real_set_container)
(gimp_container_view_real_set_context)
(gimp_container_view_item_selected)
(gimp_container_view_thaw): support setting a context even if
the viewed container's children_type is *not* a property of
GimpContext. This removes a major restriction of container
views and allows to get rid of some hacks:
* app/widgets/gimpitemtreeview.[ch]: removed GimpContext member
and implement GimpContainerView::set_context() instead of
GimpDocked::set_context().
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimplayertreeview.c: use GimpContainerView's context
instead of GimpItemTreeView's and implement GimpContainerView's
set_context() instead of GimpDocked's.
* app/actions/actions.c (action_data_get_gimp)
(action_data_get_context): don't special-case GimpItemTreeView any
more, it's just like a normal GimpContainerView now.
* app/widgets/gimpcontrollerlist.c
(gimp_controller_list_constructor): set a context on the
GimpContainerView so its renderers have a context to use.
2006-08-31 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpthumbbox.[ch]: remember the context passed to
gimp_thumb_box_new() and use it instead of the user context when
creating thumbnails.
2006-08-31 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpgradienteditor.[ch] (struct GimpGradientEditor):
removed GimpContext member I added before deciding it needs to be
added to GimpDataEditor.
Use GimpDataEditor's context instead of the bogus one. Also use
the data editor's context instead of the user context wherever it
was used.
* app/widgets/gimppaletteeditor.c: use GimpDataEditor's context
instead of the user context here too.
2006-08-31 Michael Natterer <mitch@gimp.org>
* app/core/gimpgradient.[ch] (gimp_gradient_has_fg_bg_segments):
new funtion which returns TRUE if any of the gradient's segments
refer to FG of BG.
(gimp_gradient_segment_get_left_color_type)
(gimp_gradient_segment_set_left_color_type)
(gimp_gradient_segment_get_right_color_type)
(gimp_gradient_segment_set_right_color_type): new accessors for
the new GimpGradientColor stuff.
(gimp_gradient_segment_split_midpoint)
(gimp_gradient_segment_range_flip)
(gimp_gradient_segment_range_replicate): split, flip and replicate
the segments' color_types too.
* app/widgets/gimpviewrenderer.[ch]: added virtual functions
::set_context() and ::invalidate() and call them.
* app/widgets/gimpviewrenderergradient.[ch]: implement the virtual
functions. Connect to the context's "foreground-changed" and
"background-changed" signals if the gradient contains FG or BG
colors and invalidate the renderer whenever they change.
* app/core/gimp-gradients.c: removed signal connections which
invalidated the gradients on FG/BG changes of the user context.
2006-08-31 Sven Neumann <sven@gimp.org>
* app/composite/gimp-composite-mmx.c: moved declarations at the
beginning of the functions.
* app/tools/gimptransformtool.c (gimp_transform_tool_doit):
display a message if no paths are available. Could catch this
earlier, but this is the least intrusive change to fix bug #353495.
2006-08-29 Michael Natterer <mitch@gimp.org>
Changed GimpViewable preview rendering to have a context to get
FG/BG/whatever from. Use the context to enable dynamic FG/BG
colors in gradients. Fixes bug #127676 and bug #352214. Addresses
bug #128367 (doesn't fix it because there's no loading/saving and
no GUI yet).
* app/core/core-enums.[ch]: added enum GimpGradientColor to enable
specifying gradient colors in terms of foreground and background.
* app/core/gimpgradient.[ch]: added color_type members to the
GimpGradientSegment struct and honor them in
gimp_gradient_get_color_at(). Added GimpContext parameters to all
functions which finally call get_color_at().
* app/core/gimp-gradients.c: use the new method to implement the
builtin gradients.
* app/core/gimpviewable.[ch]: added GimpContext parameters to all
get_preview() and get_pixbuf() functions.
* app/core/gimpbrush.c
* app/core/gimpbuffer.c
* app/core/gimpdrawable-preview.[ch]
* app/core/gimpgradient.c
* app/core/gimpimage-preview.[ch]
* app/core/gimpimagefile.c
* app/core/gimppalette.c
* app/core/gimppattern.c
* app/core/gimpundo.[ch]
* app/text/gimpfont.c
* app/vectors/gimpvectors-preview.[ch]: changed ::get_preview()
and ::get_pixbuf() implementations accordingly.
* app/core/gimpdrawable-blend.c
* app/core/gimppalette-import.[ch]
* app/dialogs/dialogs-constructors.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/resize-dialog.c
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell.c
* app/display/gimpnavigationeditor.c
* app/paint/gimppaintoptions.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimptexttool.c
* app/actions/gradient-editor-commands.c
* app/widgets/gimpaction.c
* app/widgets/gimpbrusheditor.[ch]
* app/widgets/gimpbufferview.c
* app/widgets/gimpcellrendererviewable.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpclipboard.c
* app/widgets/gimpcoloreditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainerbox.c
* app/widgets/gimpcontainercombobox.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainerentry.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.[ch]
* app/widgets/gimpdataeditor.[ch]
* app/widgets/gimpdevicestatus.c
* app/widgets/gimpdnd.[ch]
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpgradienteditor.[ch]
* app/widgets/gimpgradientselect.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimppaletteeditor.[ch]
* app/widgets/gimppropwidgets.[ch]
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpthumbbox.[ch]
* app/widgets/gimptoolbox-image-area.c
* app/widgets/gimptoolbox-indicator-area.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimpundoeditor.c
* app/widgets/gimpvectorstreeview.c
* app/widgets/gimpview-popup.[ch]
* app/widgets/gimpview.[ch]
* app/widgets/gimpviewablebutton.c
* app/widgets/gimpviewabledialog.c
* app/widgets/gimpviewrenderer.[ch]
* app/widgets/gimpviewrenderer-frame.c
* app/widgets/gimpviewrendererbrush.c
* app/widgets/gimpviewrendererbuffer.c
* app/widgets/gimpviewrendererdrawable.c
* app/widgets/gimpviewrenderergradient.c
* app/widgets/gimpviewrendererimage.c
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/image.pdb: added tons of GimpContext members
and parameters, implement GimpDocked::set_context() in many
widgets. Pass these locally remembered contexts to GimpViewable
functions. Did some minor cleanups on the way. There are still
some minor FIXMEs around where the code uses a NULL context (which
is allowed by the APIs)
* app/pdb/drawable_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/image_cmds.c: regenerated.
2006-08-29 Sven Neumann <sven@gimp.org>
* libgimpbase/Makefile.am
* libgimpbase/gimpbase.h
* libgimpbase/gimprectangle.[ch]: added new files that hold
gimp_rectangle_intersect(), factored out of the core.
* libgimpbase/gimpbase.def: updated.
* app/core/gimp-edit.c
* app/core/gimp-utils.c
* app/core/gimp-utils.h
* app/core/gimpchannel-combine.c
* app/core/gimpdrawable-foreground-extract.c
* app/core/gimpdrawable-transform.c
* app/core/gimpdrawable.c
* app/core/gimpimage-preview.c
* app/core/gimplayer.c
* app/core/gimpscanconvert.c
* app/display/gimpdisplayshell-draw.c: changed includes accordingly.
* libgimp/gimpdrawablepreview.c: don't duplicate
gimp_rectangle_intersect() here, use the function in libgimpbase.
* app/base/siox.c: use gimp_rectangle_intersect() to reduce the
working area to the region of interest. Fixes bug #340422.
2006-08-29 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-duplicate.c (gimp_image_duplicate)
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_image): a
somewhat hackish implementation of what's suggested in bug #353246.
Let the save dialog default to the folder of the duplicated image.
2006-08-28 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainerview.[ch]: made set_container() a
virtual function of the GimpContainerView interface.
2006-08-28 Sven Neumann <sven@gimp.org>
* app/tools/gimptextoptions.[ch]
* app/tools/gimptexttool.c
* app/widgets/gimptexteditor.[ch]: make the text editor transient
to the display shell.
2006-08-27 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcolortool.c (gimp_color_tool_real_picked): applied
modified patch from David Gowers which selects a matching color
from the palette editor's active palette. I'm not sure if this
behavior is desirable but we'll never find out if we dont't try.
Fixes bug #343358.
* app/tools/gimpselectiontool.c (gimp_selection_tool_modifier_key):
When Alt is down, don't allow other modifiers to change the
operation shown in the options. Fixes bug #349338.
2006-08-25 Sven Neumann <sven@gimp.org>
* configure.in: print the value of $datarootdir in the summary.
* app/base/tile-swap.c (tile_swap_in_attempt): fixed error
handling in this unused function.
2006-08-25 Michael Natterer <mitch@gimp.org>
* app/actions/file-actions.c (file_actions_setup)
(file_actions_last_opened_update): if there are too few images in
the document history, use the action's name as its label for the
empty slots, to keep the translation of "" from showing up in the
shortcut editor.
2006-08-24 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-preview.c
(gimp_display_shell_draw_tri): just return if gdk_drawable_get_size()
returns 0 for width or height (bug #340056).
2006-08-24 Sven Neumann <sven@gimp.org>
* INSTALL: mention that multi-processor support is on by
default.
* app/base/tile-cache.c: fixed compilation if multi-processor
support is disabled (bug #352609).
* app/tools/tools-enums.h
* app/tools/gimptransformtool.[ch]: add support for handles at
midpoints of edges.
* app/tools/gimpscaletool.c: use midpoint handles for scaling
with fixed width or height. Fixes bug #344955.
* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion):
respect "fixed-center" constraint even if "fixed-aspect"
or "aspect-square" constraints are active.
2006-08-22 Sven Neumann <sven@gimp.org>
* app/tools/gimprotatetool.c (gimp_rotate_tool_motion): fixed code
that moves the angle between +/- pi (bug #352341).
* app/display/gimpdisplayshell-callbacks.c: allow modifier key events
for Shift and Control to be propagated even if button1 is down.
* app/tools/gimpclonetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpforegroundselecttool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimpvectortool.c: change modifier_key method
to prevent any bad consequences.
* app/tools/gimprectangletool.[ch]: add modifier_key handler, and use it
to toggle "make-square" if Shift is pressed while button1 is down, and
"fixed-center" if Control is pressed while button1 is down.
* app/tools/gimprectangleselecttool.c (gimp_rectangle_tool_modifier_key):
call rectangle tool modifer_key method after chaining up.
2006-08-16 Sven Neumann <sven@gimp.org>
* app/plug-in/gimpplugin.c: improved debugging output.
* libgimp/gimppaletteselect.c: the palette callback gets passed
the number of colors.
2006-08-16 Sven Neumann <sven@gimp.org>
* app/base/tile-cache.c: actually enable tile cache locking and
added a missing lock in tile_idle_preswap(). Should fix bug
#346923.
2006-08-15 Michael Natterer <mitch@gimp.org>
* app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_start):
added check for GIMP_TRANSLATE_MODE_MASK_COPY_TO_LAYER which was
forgotten when this mode was introduced.
2006-08-15 Sven Neumann <sven@gimp.org>
* app/dialogs/preferences-dialog.c: do not add a toggle for
"transient-docks" in stable releases (bug #322577).
2006-08-15 Hans Breuer <hans@breuer.org>
* **/makefile.msc app/gimpcore.def : updated
* app/xcf/xcf-save.c(1464) : error C2036: 'void *' : unknown size
pointer arithmetics on void a pointer looks like a GCC extension
* app/tools/gimpbrightnesscontrasttool.c
app/tools/gimpcolorbalancetool.c
app/tools/gimphuesaturationtool.c
app/tools/gimpcolorizetool.c : #include "core/gimp.h" for gimp_message
* app/tools/gimpiscissorstool.c : use RINT() rather than rint()
* app/widgets/gimpcontrollerlist.c : #include "gimpwidgets-utils.h"
for gimp_show_message_dialog
* app/core/gimpprogress.c(229) : 'gimp_progress_message' must
return a value
2006-08-14 Michael Natterer <mitch@gimp.org>
Fixed rounding and double vs. integer inconsistency when dealing
with mouse coordinates. Fixes bug #350694.
* app/tools/gimpiscissorstool.c
(clicked_on_vertex)
(clicked_on_curve): added double x and y parameters and use them
instead of the integer iscissors->x and ->y. Cleaned up the
functions a bit.
(gimp_iscissors_tool_button_press)
(gimp_iscissors_tool_motion): changed accordingly, also rint() the
passed mouse coords when assigning them to iscissors->x and ->y.
Unrelated cleanup:
(iscissors_free_buffers): removed, folded into reset()
(precalculate_arrays): removed, folded into class_init()
2006-08-14 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangletool.c: changed the limits for "pressx"
and "pressy". It's wrong to disallow negative values here.
2006-08-14 Sven Neumann <sven@gimp.org>
* app/tools/gimpiscissorstool.c (gimp_iscissors_tool_oper_update):
do not select ISCISSORS_OP_MOVE_POINT for terminal points. Fixes
bug #132352.
2006-08-14 Sven Neumann <sven@gimp.org>
* app/core/gimp-edit.c (gimp_edit_make_buffer): do not autocrop
the buffer contents, always keep the selection size (bug #350897).
2006-08-11 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: introduced a simple message
dialog to use when there's no progress but a parent widget.
* app/dialogs/convert-dialog.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/preferences-dialog.c
* app/dialogs/stroke-dialog.c
* app/tools/gimpimagemaptool.c
* app/widgets/gimpactionview.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimppdbdialog.c
* app/widgets/gimpvectorstreeview.c: use the new utility function
instead of g_message().
2006-08-11 Sven Neumann <sven@gimp.org>
* app/gui/gui-message.c (gui_message_error_dialog): use the global
error dialog if the progress is a GimpProgressDialog.
* app/tools/gimprectangleselecttool.[ch]: if the user is
modifying a rectangle and the mode is REPLACE, don't
show the marching ants for the previous selection, because
it confuses users. Should fix bug #347945.
2006-08-10 Sven Neumann <sven@gimp.org>
* app/file/file-utils.c: added a copy of g_unescape_uri_string()
from glib/gconvert.c and use it to improve the results of
file_utils_uri_display_name() and file_utils_uri_display_basename().
2006-08-10 Sven Neumann <sven@gimp.org>
* app/dialogs/file-save-dialog.c: use gimp_message().
* app/dialogs/preferences-dialog.c: use a GtkMessageDialog and
make it transient for the preferences dialog.
* libgimpwidgets/gimppropwidgets.c
(gimp_prop_file_chooser_button_notify): use
gtk_file_chooser_unselect_all() to unset the filename.
2006-08-10 Sven Neumann <sven@gimp.org>
* app/tools/gimpimagemaptool.c: for load and save errors, use a
GtkMessageDialog and make it transient for the tool dialog.
* app/tools/gimpvectortool.c: use gimp_message().
2006-08-09 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-params.c (plug_in_params_to_args): it's a
bad idea to access an array before checking if it's long enough.
Fixes bug #350555. Also added some comments, the logic here is
really weird.
2006-08-09 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-transform.[ch]: added new function
gimp_display_shell_transform_segments().
* app/display/gimpdisplayshell-selection.c (selection_transform_segs)
* app/tools/gimpregionselecttool.c
(gimp_region_select_tool_calculate): use the new function instead
of looping over the segments.
2006-08-09 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-draw.c (gimp_display_shell_draw_pen)
(gimp_display_shell_draw_vector): use the new transform functions.
* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_lines)
(gimp_draw_tool_draw_strokes): bail out early if num_points == 0.
2006-08-09 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-transform.[ch]: renamed
transform_coords() to transform_coordinate(); same for the
untransform variant. Added new functions transform_points() and
transform_coords() that work on arrays.
* app/display/gimpdisplayshell-autoscroll.c
* app/display/gimpdisplayshell-callbacks.c: changed accordingly.
* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_lines)
(gimp_draw_tool_draw_strokes): use the new transform functions.
2006-08-09 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginmanager.c (gimp_plug_in_manager_dispose):
chain up.
* libgimp/gimpzoompreview.[ch]: added API to get a pointer to the
GimpZoomModel used by the preview and added a constructor that
allows to pass a model.
* libgimp/gimpui.def: updated.
2006-08-09 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontainercombobox.[ch]: allow to configure the
ellipsize property of the text renderer.
* app/dialogs/image-new-dialog.c: don't pack the template
combo-box
expanding, unset the ellipsize property.
2006-08-08 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginmanager-history.[ch]: added API to
remove
a procedure from the history.
* app/plug-in/gimppluginmanager.c
(gimp_plug_in_manager_remove_temp_proc): remove the procedure
from
the history.
2006-08-08 Sven Neumann <sven@gimp.org>
* app/plug-in/Makefile.am
* app/plug-in/gimppluginmanager-history.[ch]: new files that
deal
with the history of plug-in procedures.
* app/actions/plug-in-actions.[ch]
* app/plug-in/gimppluginmanager.[ch]: changed accordingly.
2006-08-08 Sven Neumann <sven@gimp.org>
* app/actions/plug-in-commands.c (plug_in_run_cmd_callback): add
all procedures that take an image paramter to the history of
last-used procedures. Fixes bug #348243.
(plug_in_repeat_cmd_callback): use
plug_in_collect_drawable_args()
to construct the procedure arguments.
* app/actions/plug-in-actions.c
* app/plug-in/gimppluginmanager.[ch]: renamed "last_plug_ins" to
"history"; it's actually a list of procedures.
2006-08-08 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/drawable.pdb: changed limits in
gimp_drawable_thumbnail()in gimp_drawable_sub_thumbnail to 1024
(GIMP_VIEWABLE_MAX_PREVIEW_SIZE) and added an assertion like the
one we have in image.pdb.
* app/pdb/drawable_cmds.c
* libgimp/gimpdrawable_pdb.c: regenerated.
* libgimp/gimppixbuf.c: increased the limit to 1024 here as
well.
2006-08-08 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangleoptions.c
(gimp_rectangle_options_interface_get_type): made
GimpToolOptions a
prerequisite of the GimpRectangleOptions interface.
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_interface_get_type): made GimpDrawTool a
prerequisite of the GimpRectangleTool interface.
2006-08-08 Sven Neumann <sven@gimp.org>
* app/dialogs/file-save-dialog.c
(file_save_dialog_new): removed workaround for a GtkFileChooser
bug that doesn't seem to be needed any longer.
(file_save_dialog_check_uri): commented out debug spew.
2006-08-05 Michael Natterer <mitch@gimp.org>
* app/pdb/gimp-pdb-compat.[ch]: added
gimp_pdb_compat_procs_register().
* app/pdb/gimp-pdb.[ch]: removed these files.
* app/pdb/gimppdb.c
* app/core/gimp.c: changed accordingly.
* app/pdb/Makefile.am: build a separate libappinternal-procs.a
* app/Makefile.am: link it.
2006-08-05 Michael Natterer <mitch@gimp.org>
Applied (modified and enhanced) patch from Chris Moller which allows
tools to distinguish similar colors not only by composite, but also
by R, G, B, H, S and V. Fixes bug #348291.
* app/core/core-enums.[ch]: added new enum GimpSelectCriterion
which can be one of { COMPOSITE, R, G, B, H, S, V }.
* app/core/gimpimage-contiguous-region.[ch]: added
select_criterion params and create the region based on difference
by the selected criterion.
* app/core/gimpchannel-select.[ch]
* app/core/gimpdrawable-bucket-fill.[ch]: take criterion params and
pass them through to the contiguous region functions.
* app/tools/gimpbucketfilloptions.[ch]
* app/tools/gimpselectionoptions.[ch]: added criterion properties
and GUI to select it.
* app/tools/gimpbucketfilltool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpfuzzyselecttool.c: pass the selected criterion to
the resp. core functions.
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpselectioneditor.c
* app/display/gimpdisplayshell-dnd.c
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/selection_tools.pdb: changed accordingly
(simply pass GIMP_SELECT_CRITERION_COMPOSITE in most cases).
* app/pdb/edit_cmds.c
* app/pdb/selection_tools_cmds.c: regenerated.
2006-08-05 Raphael Quinet <raphael@gimp.org>
* app/core/gimpgradient-load.c (gimp_gradient_load): Do not crash
when loading corrupt gradient files. Ensure that error messages
are correctly reported with g_set_error() instead of g_message().
Fixes bug #349996.
2006-08-04 Raphael Quinet <raphael@gimp.org>
* tools/pdbgen/stddefs.pdb
* tools/pdbgen/pdb/convert.pdb: Attributed custom dither code to
David Gowers and updated my e-mail address for the PDB.
* app/pdb/convert_cmds.c
* app/pdb/undo_cmds.c
* libgimp/gimpconvert_pdb.c: Regenerated.
2006-08-04 Raphael Quinet <raphael@gimp.org>
* app/core/gimpimage-convert-data.h
* app/core/gimpimage-convert.c
* app/core/gimpimage-convert.h
* tools/pdbgen/pdb/convert.pdb: Applied slightly modified patch
from David Gowers allowing a custom dither matrix to be used when
converting images to indexed mode. Fixes bug #136604.
* app/pdb/convert_cmds.c
* libgimp/gimpconvert_pdb.h
* libgimp/gimpconvert_pdb.c: Regenerated.
* app/tools/gimpselectiontool.c: N_() should have been _().
2006-08-04 Michael Natterer <mitch@gimp.org>
* app/actions/image-actions.c: cosmetics.
* app/core/gimpimage.c: factor common code out to new utility
function gimp_image_get_item_by_tattoo(), minor cleanups.
2006-08-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.c (gimp_channel_bounds)
* app/core/gimpdrawable.c (gimp_drawable_mask_bounds)
(gimp_drawable_mask_intersect): allow to pass in NULL return
locations for any of the boundary return values.
* app/tools/gimpselectiontool.c (gimp_selection_tool_oper_update):
don't require hovering the selection for moving the selected
pixels, since this can be distinguished by looking at the
modifiers now. Check for the presence of any selected pixels
instead. Fixes bug #349341.
2006-08-03 Raphael Quinet <raphael@gimp.org>
* app/tools/gimpselectiontool.c (gimp_selection_tool_oper_update):
use gimp_suggest_modifiers().
* app/tools/gimpclonetool.c (gimp_clone_tool_oper_update): suggest
ctrl only when cloning from the image, not from a pattern
* app/tools/gimpsmudgetool.c (gimp_smudge_tool_init): don't
suggest Ctrl for that tool, even if it can be used.
2006-08-02 Raphael Quinet <raphael@gimp.org>
* app/tools/gimppainttool.c (gimp_paint_tool_oper_update): Allow
some paint tools to not suggest using the Ctrl modifier.
* app/tools/gimpvectortool.c (gimp_vector_tool_status_update):
slightly more elegant way to free the status string.
2006-08-02 Raphael Quinet <raphael@gimp.org>
* app/widgets/gimpwidgets-utils.h
* app/widgets/gimpwidgets-utils.c (gimp_suggest_modifiers):
New utility function to build status bar messages while allowing
dynamic names for the modifiers.
* app/tools/gimppainttool.h
* app/tools/gimppainttool.c: Added new members to the class in
order to allow paint tools to set different status messages for
the normal case or when drawing a line.
* app/tools/gimpclonetool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimperasertool.c
* app/tools/gimpsmudgetool.c: Use the new functions to set
appropriate messages in the status bar. Still work in progress,
partial fix for bug #124040.
* app/tools/gimpvectortool.c: Use gimp_suggest_modifiers().
2006-07-31 Karine Delvare <edhel@gimp.org>
* app/tools/gimprectangletool.c: Applied patch from Karl Günter
Wünsch which Corrects the asyncronicity between mouse cursor and
selected edge on egde resizing. Partial fix for bug #349337.
2006-07-31 Michael Natterer <mitch@gimp.org>
* app/tools/gimpselectionoptions.c (gimp_selection_options_gui):
use g_type_is_a() where possible instead of checking individual
tool types separately.
2006-07-31 Michael Natterer <mitch@gimp.org>
* app/tools/Makefile.am
* app/tools/gimpregionselecttool.[ch]: new abstract base class
which does about the same as GimpFuzyySelectTool did, apart from
creating the mask of the selected region.
* app/tools/gimpbycolorselecttool.[ch]
* app/tools/gimpfuzzyselecttool.[ch]: removed all code and only
implement GimpRegionSelectTool::get_mask(). Fuzzy and by-color
select behave exactly the same now. Fixes bug #126748.
2006-07-30 Raphael Quinet <raphael@gimp.org>
* app/tools/gimppainttool.c
* app/tools/gimpvectortool.c
* app/tools/gimpselectiontool.c: Update the status bar messages.
Work in progress, partial fix for bug #124040.
2006-07-28 Michael Natterer <mitch@gimp.org>
* app/tools/gimpbycolorselecttool.c: removed GObject::dispose()
implementation (no need to disconnect from a signal connected with
g_signal_connect_object). Code cleanup in some functions.
2006-07-28 Simon Budig <simon@gimp.org>
* libgimp/gimp.def: added the new symbol
* tools/pdbgen/pdb/vectors.pdb: cosmetics.
* app/pdb/vectors_cmds.c
* libgimp/gimpvectors_pdb.[ch]: regenerated.
2006-07-26 Michael Natterer <mitch@gimp.org>
* app/actions/select-commands.c (select_shrink_callback): the
"shrink from border" toggle value needs to be negated for being
used as internal "edge lock" parameter. Fixes bug #348839.
2006-07-26 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainertreeview.c
(gimp_container_tree_view_button_press): removed code that was
special-casing RTL since gtk_tree_view_get_path_at_pos() takes
this correctly into account now. Fixes bug #348347.
* app/widgets/gimpdockable.c (gimp_dockable_size_allocate): fix
menu button positioning for RTL.
2006-07-25 Michael Natterer <mitch@gimp.org>
* app/tools/gimplevelstool.c (levels_input_area_event): Applied
patch from Wim Lewis which fixes major uglyness (the code was
rounding using sprintf() and atof() -- puke). Fixes bug #348317.
2006-07-19 Sven Neumann <sven@gimp.org>
Make message dialogs transient for the progress window.
Addresses
bug #347214.
* app/core/gimp-gui.[ch]: added a progress parameter to
gimp_message(). Let gimp_message() deal with optionally
delegating the message to gimp_progress_message().
* app/errors.c: changed accordingly.
* app/core/gimpprogress.[ch] (gimp_progress_message): return a
boolean indicating whether the message was handled.
* app/gui/Makefile.am
* app/gui/gui-message.[ch]
* app/gui/gui-vtable.c: moved message handling to a new file.
Only
use the global error dialog for messages without a progress.
Otherwise attach an error dialog to the progress and try to make
it transient to the progress window.
* tools/pdbgen/pdb/message.pdb:
* app/plug-in/gimpplugin-progress.[ch]: don't delegate messages
to
the progress interface, this is handled by gimp_message() now.
* app/pdb/message_cmds.c: regenerated.
* app/plug-in/gimpplugin.c
* app/actions/documents-commands.c: formatting.
2006-07-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_image): use
file_utils_uri_display_basename() instead of g_path_get_basename()
to get an uri's basename. Fixes bug #347544.
2006-07-18 Sven Neumann <sven@gimp.org>
* app/widgets/gimppaletteeditor.c (gimp_palette_editor_get_index,
gimp_palette_editor_set_index, gimp_palette_editor_max_index):
fixed potential crash based on a patch from David Gowers (bug #347593).
2006-07-18 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/image.pdb: fixed docs for gimp-image-add-layer
as pointed out in bug #347861.
* app/pdb/image_cmds.c
* libgimp/gimpimage_pdb.c: regenerated.
2006-07-14 Mukund Sivaraman <muks@mukund.org>
* app/config/gimpbaseconfig.c: if possible, detect the number of
online CPUs in the system and use that instead of the default value
of 2 for the number of pixel processors. Also made the default value
1 where it's not possible to detect the number of CPUs. Uses twice
the number for development versions.
2006-07-13 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_set_cursor): set the
sensitivity of the cursor label before converting the coordinates
to the display unit (bug #347339).
2006-07-11 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-merge.[ch]: made gimp_image_merge_layers()
a
static function, it isn't used outside this file.
2006-07-10 Sven Neumann <sven@gimp.org>
* app/xcf/xcf-load.c: use a signed variable when attempting to
skip over unknown properties and check for EOF. Fixes bug #345802.
* app/xcf/xcf-read.c: cleanup, nothing really changed
2006-07-07 Michael Natterer <mitch@gimp.org>
* app/dialogs/preferences-dialog.c (prefs_dialog_new): changed
"display" to "image window" in user visible string.
2006-07-07 Sven Neumann <sven@gimp.org>
* INSTALL
* configure.in
* app/gui/gui.c: relaxed required version for gtk+ to 2.8.17 and
pango to 1.12.2 so that it compiles on Ubuntu (Dapper Drake).
2006-07-07 Sven Neumann <sven@gimp.org>
Use Ctrl-P as the default keyboard shortcut for Print (bug #302870):
* app/actions/dialogs-actions.c: removed Ctrl-P shortcut from
Palettes dialog.
* etc/Makefile.am
* etc/menurc: added a default menurc file that binds Ctrl-P to
file-print-gtk.
* app/core/gimp-user-install.c: install the default menurc.
2006-07-07 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcoloreditor.c
* libgimpwidgets/gimpcolorselection.c: in the tooltip for the hex
entry, mention that it also accepts CSS color names.
* libgimpwidgets/gimpwidgets.c (gimp_scale_entry_new_internal):
use an invisible event box for the tooltip.
2006-07-06 Sven Neumann <sven@gimp.org>
* app/xcf/xcf-save.c (xcf_save_image_props): removed redundant
call to xcf_save_prop() for PROP_PARASITES. Spotted by Henning
Makholm (bug #346754).
2006-07-06 Sven Neumann <sven@gimp.org>
* app/xcf/xcf-load.c (xcf_load_vector): applied a patch from
Henning Makholm that introduces a sanity check on the number of
axes (bug #346742).
2006-07-03 Michael Natterer <mitch@gimp.org>
* app/gui/splash.[ch]: added "be_verbose" parameters and be
verbose about which splash image is actually loaded.
* app/gui/gui.c (gui_init): pass gimp->be_verbose to
splash_create().
2006-06-30 Simon Budig <simon@gimp.org>
* app/widgets/gimpstrokeeditor.c: unref the old StrokeOptions
when new ones get set as a property. Spotted by Henk Boom.
2006-06-29 Sven Neumann <sven@gimp.org>
* app/display/Makefile.am
* app/display/gimpdisplayshell-progress.[ch]: new files,
implementing the GimpProgress interface by delegation to
GimpStatusbar.
* app/display/gimpdisplayshell.c (G_DEFINE_TYPE): call
gimp_display_shell_progress_iface_init().
* app/display/gimpdisplay.c: delegate progress calls to
GimpDisplayShell instead of shell->statusbar.
2006-06-28 Sven Neumann <sven@gimp.org>
* app/menus/plug-in-menus.c (plug_in_menus_setup): generate unique
keys so that two procedures can be installed to the same menu entry.
Addresses bug #346001.
2006-06-28 Sven Neumann <sven@gimp.org>
* app/core/gimpstrokedesc.[ch]: removed broken implementation of
gimp_stroke_desc_duplicate() and reimplement it by overriding
the
duplicate() method of the GimpConfig interface.
2006-06-27 Sven Neumann <sven@gimp.org>
Applied patch from Zbigniew Chyla (bug 345982):
* app/tools/gimptransformtool.[ch]: added undo_desc field for
storing undo string and use that, not tool_info->blurb.
* app/tools/gimpfliptool.c
* app/tools/gimpperspectivetool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c: set undo_desc.
2006-06-27 Sven Neumann <sven@gimp.org>
* app/core/gimpunit.c: applied patch from Zbigniew Chyla that
adds
translation context to some problematic strings (bug #345982).
2006-06-27 Sven Neumann <sven@gimp.org>
* app/tools/gimptransformtool.c
(gimp_transform_tool_notify_type):
do not call bounds() and recalc() with a NULL display. Added
sanity checks for the display parameter to both functions.
Fixes bug #345791.
2006-06-27 Sven Neumann <sven@gimp.org>
Based on a patch from Zbigniew Chyla:
* app/core/gimpunit.c (_gimp_unit_get_singular,
_gimp_unit_get_plural):
don't call gettext() on strings returned by
_gimp_unit_get_user_unit().
2006-06-27 Sven Neumann <sven@gimp.org>
Applied patch from Zbigniew Chyla:
* app/gimp-intl.h
* libgimp/stdplugins-intl.h: removed most content and include
<glib/gi18n.h> instead.
* libgimp/libgimp-intl.h: define ngettext() macro as wrapper
around
dngettext().
2006-06-27 Sven Neumann <sven@gimp.org>
I18n improvements based on a patch from Zbigniew Chyla:
* app/main.c:
* modules/controller_midi.c
* plug-ins/script-fu/scripts/guides-new.scm: marked strings for
translation.
* app/widgets/gimpdock.c
* libgimpwidgets/gimppageselector.c
* plug-ins/common/plugin-browser.c: use ngettext() for plural
forms.
2006-06-22 Michael Natterer <mitch@gimp.org>
* app/tools/gimptransformtool.c: (gimp_transform_tool_control):
always upchain.
(gimp_transform_tool_cursor_update): use the small crosshair
instead of GIMP_CURSOR_MOUSE as default cursor to avoid hotspot
jumping.
(gimp_transform_tool_doit): call prepare() after bounds().
2006-06-22 Michael Natterer <mitch@gimp.org>
* app/dialogs/preferences-dialog.c (prefs_dialog_new): pack the
page icon with 6px padding too, just as the page label.
2006-06-21 Sven Neumann <sven@gimp.org>
* app/tools/gimp-tools.c (gimp_tools_restore): don't attempt to
reorder to a position >= container->num_children.
* app/tools/gimprectangleselecttool.c: if there is a floating selection
and mouse is clicked outside it without movement, anchor it.
* app/tools/gimprectangletool.c: corner handle area was scaling
improperly when image was zoomed.
2006-06-20 Sven Neumann <sven@gimp.org>
* app/dialogs/tips-dialog.c: use GIMP_STOCK_INFO for the tips
dialog.
* data/images/Makefile.am: do not install unused wilber icons.
2006-06-20 Sven Neumann <sven@gimp.org>
* themes/Default/images/preferences/Makefile.am: install icons at
22x22 pixel size.
* app/dialogs/preferences-dialog.c (prefs_notebook_append_page):
try to load icons at 22x22 instead of scaling down the large one.
2006-06-20 Sven Neumann <sven@gimp.org>
* app/dialogs/about-dialog.c (about_dialog_create): only unref the
logo pixmap if it is not NULL; loading it may fail.
2006-06-20 Sven Neumann <sven@gimp.org>
* app/tools/tools-enums.h: added TRANSFORM_HANDLE_NONE (will
get rid of TRANSFORM_CREATING later).
* app/tools/gimptransformtool.[ch]: added member "use_handles" and
default to FALSE for all "use_foo" variables. Only deal with the
handles the specific transform tool asks for. Set cursors
according to the active handle.
* app/tools/gimpfliptool.c
* app/tools/gimpperspectivetool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c: changed accordingly.
2006-06-19 Sven Neumann <sven@gimp.org>
* app/config/gimpguiconfig.c (DEFAULT_WEB_BROWSER): changed to
"firefox", most distributions seem to have renamed the binary.
2006-06-19 Sven Neumann <sven@gimp.org>
* data/images/gimp-logo.png: replaced with the application logo
(bug #343948).
* data/images/gimp2_2_logo.png: the old logo, as a reference.
* app/dialogs/about-dialog.c: let GtkAboutDialog deal with the logo.
Moved the text animation below the copyright notice and draw it on
the window background.
2006-06-18 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.[ch]: added virtual functions
GimpTool::has_display(), which returns whether any tool subclass
keeps a pointer to the passed display; and GimpTool::has_image()
which returns a display based on a passed image, or NULL if no
display matches. Added default implementation of
GimpTool::control() which sets tool->display to NULL on HALT.
* app/tools/gimpclonetool.c
* app/tools/gimpdrawtool.c: implement both functions.
* app/tools/gimpclonetool.c: removed weak pointer hacks that are
no longer needed now (and were incomplete anyway).
* app/tools/tool_manager.c (tool_manager_select_tool)
(tool_manager_control_active)
(tool_manager_image_clean_dirty): use the new functions instead of
peeking around in tool subclasses (and forgetting tools that may
have display pointers, like the clone tool)
* app/display/gimpdisplay.c (gimp_display_delete): removed
fiddling with tool internals here too, control(HALT) on the tool
is now sufficient to remove any reference to the closed display.
2006-06-17 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockbook.c (gimp_dockbook_get_tab_widget): put
the event box' event window above its children because now that it
is input-only, it won't receive events that are not in its
childrens' event mask if the event window is below.
Fixes bug #345137.
2006-06-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_image):
always call gtk_file_chooser_set_current_folder_uri() and
gtk_file_chooser_set_current_name() instead of
gtk_file_chooser_set_uri(), since the latter only works if the
file exists and its return value is bogus. Fixes bug #343284.
2006-06-16 Michael Natterer <mitch@gimp.org>
Allow plug-ins to register in <Layers>, <Channels>, <Vectors> and
<ColormapEditor>:
* app/pdb/gimppluginprocedure.c
(gimp_plug_in_procedure_add_menu_path): added the argument type
checks for the new locations. Factored out duplicated code.
* app/menus/menus.c (menus_init): add the "plug-in" action
group to the resp. UI managers.
* app/menus/plug-in-menus.c (plug_in_menus_menu_path_added):
support them here too.
* app/widgets/gimpimageeditor.[ch]
* app/widgets/gimpitemtreeview.[ch]: added get_image() functions.
* app/actions/plug-in-commands.c: added new utility functions
which collect plug-in arguments from GimpImageEditor and
GimpItemTreeView widgets.
* menus/channels-menu.xml
* menus/colormap-editor-menu.xml
* menus/layers-menu.xml
* menus/vectors-menu.xml: added separators.
* menus/image-menu.xml.in: added a "Colormap" placeholder in
Colors/Map
* plug-ins/common/colormap-remap.c (query): register a menu
entry in <ColormapEditor> and moved the existing one to the
"Colormap" placeholder. Also register an icon to make this
menu item clearly distinct from the others in that menu.
Unrelated:
* plug-ins/common/colormap-remap.c (run): cleaned up quite a
bit. Fixed last-vals code and simplified map handling.
(remap_swap): removed, folded into run().
(remap_dialog): use the passed map to initialize the dialog so it
starts with the last-vals. Tweaked layout to have 16 columns
and simplified cell renderer creation.
2006-06-16 Manish Singh <yosh@gimp.org>
* app/errors.c
* app/main.c
* app/file/gimprecentlist.c
* libgimpbase/gimpsignal.c
* libgimp/gimp.c
* modules/controller_midi.c
* plug-ins/common/gqbist.c: use _GNU_SOURCE instead of the other
_FOO_SOURCE variables to support -ansi -pedantic on glibc systems,
since anything else breaks compilation of otherwise working code.
Fixes bug #344203.