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.
2006-06-16 Sven Neumann <neumann@jpk.com>
* app/pdb/gimppluginprocedure.c (gimp_plug_in_procedure_get_label):
* plug-ins/script-fu/script-fu-interface.c (script_fu_interface):
when cutting away ellipsis, also look for U+2026 HORIZONTAL ELLIPSIS.
2006-06-16 Sven Neumann <sven@gimp.org>
* app/core/gimplist.c (gimp_list_new, gimp_list_new_weak): for
debugging purposes, set the children type as the name of the list.
2006-06-16 Sven Neumann <sven@gimp.org>
* app/actions/image-commands.c (image_convert_cmd_callback):
always call gimp_image_flush() so that the image mode radio
buttons reflect the image state. Attach the indexed conversion
dialog to the shell to avoid multiple instances.
2006-06-15 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-convert.c (gimp_image_convert): remove
duplicate colors for all palette types (except for MAKE_PALETTE
since there shouldn't be any unused colors then). That's what
the PDB documentation claims the function would be doing.
* app/dialogs/convert-dialog.c: allow use of the "Remove unused
colors" toggle for all but the optimized palette.
2006-06-15 Sven Neumann <sven@gimp.org>
* app/actions/image-actions.c (image_actions_update): improved
code to set the image mode radio actions; set their sensitivity
also.
* app/actions/image-commands.c
(image_configure_grid_cmd_callback):
fixed cast to silence compiler warning.
2006-06-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockbook.c (gimp_dockbook_get_tab_widget): set
the event box' window invisible so we get the right background
with all themes.
2006-06-14 Sven Neumann <sven@gimp.org>
* app/actions/image-actions.c: use radio items for the Image mode
as suggested in bug #344871.
* app/actions/image-commands.[ch] (image_convert_cmd_callback):
changed accordingly.
2006-06-14 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/[many].pdb: in help texts, refer to other
procedures using_c_syntax(). This way gtk-doc can cross-reference
them correctly in libgimp, and app.pl will transform them
'to-canonical-names' for PDB registering.
* app/pdb/[many]_cmds.c
* libgimp/[many]_pdb.c: regenerated.
2006-06-13 Tor Lillqvist <tml@novell.com>
* app/plug-in/gimpenvirontable.c (gimp_environ_table_populate):
Free the string vector returned by g_listenv().
* libgimpwidgets/gimpwidgets.def: Remove deprecated
gimp_prop_file_entry_new.
Finally implemented the suggestion in bug #144854, of
"strong" undo/redo commands that continue undoing so long
as they only encounter visibility changes.
* app/actions/edit-actions.c
* app/actions/edit-commands.c
* app/actions/edit-commands.h: added "strong undo"
and "strong redo" commands/actions.
* app/core/gimpimage-undo.[ch]: added functions
gimp_image_strong_undo() and gimp_image_strong_redo().
* app/core/gimpundo.[ch]: added utility function
gimp_undo_is_weak().
* app/widgets/gimphelp-ids.h:added id's.
* menus/image-menu.xml.in: added to edit menu,
bound to C-S-z and C-S-y.
This will no doubt need tweaking, but I will consider it
to fix bug #144854.
* app/tools/gimprectangleselecttool.c
* app/tools/gimprectangletool.c: fix three issues identified by
jimmac: (1) when shift or ctrl are pressed, should start a new
rect regardless of pointer loc; (2) zoom was incorrectly affecting
width of sensitive areas; (3) must emit "rectangle-changed" after
keyboard-driven rectangle movement.
2006-06-12 Tor Lillqvist <tml@novell.com>
* app/plug-in/gimpenvirontable.c (gimp_environ_table_populate):
Use g_listenv() and g_getenv() instead of looking at environ
directly. Fixes breakage on Win32 when any (!) environment
variable has a non-ASCII value, as environ is in system codepage,
while we want UTF-8.
* app/tools/gimprectangleselecttool.c: handle situations
where the user "flips" the rectangle while modifying it.
This solution is not perfect, but better than before.
* app/tools/gimprectangletool.c: remove unneeded variable.
Following up on previous commit, with assist from yosh.
* app/tools/gimpnewrectselectoptions.[ch]
* app/tools/gimpnewrectselecttool.[ch]: removed
* app/tools/gimprectangleselectoptions.[ch]: magic-moved
from gimpnewrectselectoptions.[ch]
* app/tools/gimprectangleselecttool.[ch]: magic-moved
from gimpnewrectselecttool.[ch]
* app/tools/Makefile.am
* app/tools/gimp-tools.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimpellipseselecttool.h
* app/tools/gimpselectionoptions.c: change file names to
refer to moved files.
Here is the big change-over, finally.
* app/tools/gimprectselecttool.[ch]: removed.
* app/tools/Makefile.am
* app/tools/gimp-tools.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimpellipseselecttool.h
* app/tools/gimpnewrectselectoptions.c
* app/tools/gimpnewrectselectoptions.h
* app/tools/gimpnewrectselecttool.c
* app/tools/gimpnewrectselecttool.h
* app/tools/gimpselectionoptions.c
* app/widgets/gimptoolbox.c
* menus/image-menu.xml.in: get rid of the "new" in everything
referring to the new rect select tool, except filenames. This
will wait for yosh to perform cvs-magic-foo.
* app/tools/gimprectangleoptions.[ch]
* app/tools/gimprectangletool.[ch]: fix a couple of minor
problems that popped up during testing.
2006-06-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpeditor.c (gimp_editor_add_action_button): simply
use gimp_button_new() instead of g_object_new(). Don't set the
"use-stock" property and reordered some code. Keeps GtkButton from
thinking that is has constructed the button's child itself and
thus makes the function more rubust against changes in GtkButton.
* app/tools/gimpcroptool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimprectangletool.[ch]: code cleanups
* app/tools/gimpnewrectselecttool.[ch]: try to do what
the user intuitively expects when deciding which selection
operation to perform. When modifying an existing rectangle,
always use the operation with which it was created.
* app/tools/gimpcropoptions.c: clean up code.
* app/tools/gimpnewrectselecttool.c: really remove some
commented-out code.
* app/tools/gimprectangleoptions.[ch]: add "aspect-square"
and "controls-expanded" properties. Show "Make square" and
"Expand from center" in options so that we don't need modifier
keys to do this. Place numerical entries inside an expander
and hide them by default.
* app/core/core-enums.[ch]: add GimpAlignReferenceType enum
* app/core/gimpimage-arrange.c: support using a channel as
reference for alignment.
* app/tools/gimpaligntool.[ch]: support aligning with a list item,
image, selection, active layer, active channel, or active path.
Now similar in form and function to Inkscape Align/Distribute
dialog.
* app/core/core-enums.[ch]: add GIMP_ARRANGE_FOO values
to GimpAlignmentType, and change CENTER to HCENTER,
MIDDLE to VCENTER.
* app/core/gimpimage-arrange.c: extensively rewritten
to handle arrangement of objects, and to do the
required sorting of lists by offset.
* app/tools/gimpaligntool.[ch]: added ability to arrange
groups of layers etc with constant spacing. Also try
to change things so that the tool aligns with the
object that users expect intuitively.
* app/core/gimpimage-arrange.[ch]: added, utility function for
aligning and arranging things in an image.
* app/core/gimpitem-align.[ch}: removed, no longer needed.
* app/core/gimpimage-item-list.[ch] (gimp_image_item_list_align):
removed this function, no longer used.
* app/core/Makefile.am: changes described above.
* app/core/gimpguide.c: remove bit of cruft left accidentally.
* app/tools/gimpalignoptions.[ch]: remove "alignment type"
option, not needed at this point.
* app/tools/gimpaligntool.[ch]: numerous changes, most
importantly ability to align guides, and use them for
alignment. More work coming on this tool.
* app/core/gimpguide.[ch]: add "removed" signal and associated
paraphernalia.
* app/core/gimpimage-guides.c (gimp_image_remove_guide): call
gimp_guide_removed() to cause signal emission.
2006-06-07 Sven Neumann <sven@gimp.org>
* app/core/gimpguide.c: removed unused includes and property
blurbs;
fixed registration of the "id" property, it is not a GIMP_CONFIG
property.
2006-06-07 Sven Neumann <sven@gimp.org>
* app/core/gimpguide.[ch]: added a setter for "orientation".
* app/core/gimpimage-resize.c (gimp_image_resize_with_layers):
removed unused variable; use for() loops to iterate over guides
and sample points.
2006-06-07 Sven Neumann <sven@gimp.org>
* app/core/gimpguide.[ch]: derive from GObject, we don't need any
GimpObject functionality here. Declare "orientation" and "id"
properties CONSTRUCT_ONLY, added a gimp_guide_new() function and
emit notify on position changes.
* app/core/gimpimage-guides.c: use gimp_guide_new() to instantiate
guides.
* app/core/gimpimage.c (gimp_image_get_memsize): formatting.
2006-06-07 Michael Natterer <mitch@gimp.org>
* app/actions/context-commands.c: cosmetic cleanup.
* app/core/core-types.h: move the GimpGuide typedef to the
"misc objects" section.
* app/tools/gimpforegroundselecttool.c: cosmetic cleanup.
* app/tools/gimpmeasuretool.c (gimp_measure_tool_cursor_update):
use the new corner and side cursors instead of using X cursors.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): renamed local variable
"update_cursor" to "update_sw_cursor", it has confused me too
often...
* app/core/gimpguide.c
* app/core/gimpguide.h: new files, implementing GuideGimp as a GimpObject
* app/core/Makefile.am: add new files as sources
* app/core/gimpimage-guides.h
* app/core/gimpimage-guides.c: use the new object instead of defining
GimpGuide here as a struct.
* app/core/gimpimage-crop.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-flip.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c
* app/core/gimpimage-snap.c
* app/core/gimpimage-undo-push.c
* app/core/gimpimage.c
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell.c
* app/pdb/guides_cmds.c
* app/tools/gimpmovetool.c
* app/xcf/xcf-save.c
* tools/pdbgen/pdb/guides.pdb: include "core/gimpguide.h", and use
g_object_ref/unref instead of gimp_image_guide_ref/unref.
2006-06-07 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_initialize):
initialize guide with the option's guide value.
(gimp_rectangle_tool_notify_guide): always sync with the
option's
guide value, even when tool->display is NULL.
2006-06-06 Michael Natterer <mitch@gimp.org>
* app/tools/gimpnewrectselecttool.c
(gimp_new_rect_select_tool_cancel)
(gimp_new_rect_select_tool_rectangle_changed): flush the image
after changing it.
* app/tools/gimprectangletool.c (gimp_rectangle_tool_halt): don't
flush it here.
2006-06-05 Michael Natterer <mitch@gimp.org>
* app/tools/gimpdrawtool.c
(gimp_draw_tool_draw_rectangle_by_anchor)
(gimp_draw_tool_draw_arc_by_anchor): subtract 1 from outlined
width/height instead of adding 1 to filled.
2006-06-05 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangletool.c (gimp_rectangle_tool_draw): use
GimpDrawTool API, not GimpCanvas one. Some cleanup.
2006-06-05 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs.[ch]
* app/core/gimpchannel.[ch]
* app/core/gimpselection.c:
* app/actions/select-commands.c: further cleaned up the patch
from
bug #88633.
2006-06-05 Michael Natterer <mitch@gimp.org>
Applied slightly modified patch from saulgoode which allows to
border a selection without feathering. Fixes bug #88633.
* app/paint-funcs/paint-funcs.[ch] (border_region): added boolean
"feather_border" parameter.
* app/core/gimpchannel.[ch]: GimpChannel::border(): ditto.
* app/core/gimpselection.c: changed accordingly.
* app/actions/select-commands.c: added a toggle to the border
dialog and pass it to gimp_channel_border().
* tools/pdbgen/pdb/selection.pdb: pass TRUE here.
* app/pdb/selection_cmds.c: regenerated.
2006-06-05 Michael Natterer <mitch@gimp.org>
* app/tools/tools-enums.[ch]: removed enum GimpRectangleMode.
* app/tools/gimprectangletool.[ch]: added virtual function
GimpRectangleTool::cancel(). Added public wrapper for it. Removed
coordinates paramaters from gimp_rectangle_tool_execute(). Removed
gimp_rectangle_tool_response(), need to call either execute() or
cancel() now. Added gimp_rectangle_tool_halt() which disconnects
the tool from the display without canceling it.
* app/tools/gimpcroptool.c: changed accordingly.
* app/tools/gimpnewrectselecttool.c: moved the rectangle creating
code from the execute() implementation to the new function
gimp_new_rect_select_tool_rect_select(). Added cancel()
implementation which pops the remembered undo step if
appropriate. Call the new rect_select() wrapper from
rectangle_changed() so we don't create the rectangle on both
button_release *and* execute(), breaking modifiers and stuff.
2006-06-05 Sven Neumann <sven@gimp.org>
* app/gui/splash.c (splash_create): connect to "expose-event"
with
G_SIGNAL_CONNECT_AFTER so that the text is rendered on the
image.
2006-06-05 Sven Neumann <sven@gimp.org>
* app/gui/splash.c: added back support for animated splashes but
continue to use the optimized code for static splash images.
2006-06-05 Sven Neumann <sven@gimp.org>
* app/core/gimp-user-install.[ch]
* app/app_procs.c: always migrate old user settings during user
installation.
* app/dialogs/user-install-dialog.[ch]: don't ask questions and
only show the dialog in case of an error.
2006-06-04 Michael Natterer <mitch@gimp.org>
* app/tools/gimpscaletool.c (gimp_scale_tool_size_notify):
strcmp() the property name, so we don't change the size on random
property changes. Fixes the tool reverting to the previous
width/height on each new transform (destroying the previous size
box causes it to emit stuff like "notify::visible").
(gimp_scale_tool_prepare): additionally, disconnect from the size
box before destroying it (paranoia).
2006-06-04 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimppropwidgets.c
(gimp_prop_file_chooser_button_callback): fix typo so the "notify"
signal doesn't stay blocked.
* app/dialogs/preferences-dialog.c: added "Reset" button which
resets all prefs values to their defaults. Fixes bug #342112.
* app/tools/gimprectangletool.[ch]: add new signal
"rectangle-changed" and method rectangle_changed.
Emit them on button release and when dimensions are
changed in controls.
* app/tools/gimpnewrectselecttool.c: use rectangle_changed
method to change selection, undoing previous change if
necessary.
2006-06-04 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpthumbbox.c (gimp_thumb_box_new): changed
mnemonic from "_Preview" to "Pr_eview" because the GTK+ HEAD
file chooser has a "_Places" mnemonic now.
* app/widgets/gimpcomponenteditor.c: minor cleanup.
2006-06-04 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolorframe.c (gimp_color_frame_set_color): use
gimp_rgba_distance() instead of gimp_rgb_distance(), so alpha
changes update the color frame too.
2006-06-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.[ch]: renamed
gimp_image_coords_in_active_drawable() to
gimp_image_coords_in_active_pickable() and added boolean
"sample_merged" and "selected_only" parameters. Use floor()
instead of ROUND(), we want to round to the actual pixel, not to
the nearest pixel boundary.
* app/tools/gimpbucketfilltool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolortool.c
* app/tools/gimpfliptool.c
* app/tools/gimptransformtool.c: changed accordingly. Removed
quite some duplicated code which checked sample_merged and the
mask value at the cursor location.
* app/tools/gimpbycolorselecttool.c: use the hand tool cursor,
there's also a hand in the toolbox icon. Fixed cursor_update()
function to set the bad modifier when there is no pickable pixel
at the cursor loction.
* app/tools/gimpfuzzyselecttool.c: added cursor_update()
implementation which does the same as by_color_select's one.
* app/tools/gimpselectiontool.c
(gimp_selection_tool_cursor_update): don't override the bad
modifier which was set by a subclass' cursor_update().
2006-06-03 Michael Natterer <mitch@gimp.org>
* app/tools/gimpnewrectselecttool.c
(gimp_new_rect_select_tool_button_press): check for function ==
INACTIVE, not CREATING || EXECUTING when checking whether to start
moving.
* app/tools/gimpselectiontool.c (gimp_selection_tool_oper_update):
changed modifiers so alt+ctrl does cut+float+move and alt+shift
does copy+float+move.
* app/tools/gimpnewrectselecttool.[ch]: use RECT_INACTIVE state,
(but doesn't seem to do anything). More importantly, change
logic so that button_release executes the tool, and button
release undo's if appropriate.
* app/tools/gimprectangletool.c (gimp_rectangle_tool_button_press):
if function is RECT_CREATING, start a new rectangle.
* app/tools/gimpnewrectselecttool.c: remove g_printerr statement that
mitch added for debugging.
2006-06-02 Michael Natterer <mitch@gimp.org>
* cursors/Makefile.am
* cursors/cursor-corner-bottom-left.png
* cursors/cursor-corner-bottom-right.png
* cursors/cursor-corner-top-left.png
* cursors/cursor-corner-top-right.png
* cursors/cursor-side-bottom.png
* cursors/cursor-side-left.png
* cursors/cursor-side-right.png
* cursors/cursor-side-top.png
* cursors/xbm/cursor-corner-bottom-left-mask.xbm
* cursors/xbm/cursor-corner-bottom-left.xbm
* cursors/xbm/cursor-corner-bottom-right-mask.xbm
* cursors/xbm/cursor-corner-bottom-right.xbm
* cursors/xbm/cursor-corner-top-left-mask.xbm
* cursors/xbm/cursor-corner-top-left.xbm
* cursors/xbm/cursor-corner-top-right-mask.xbm
* cursors/xbm/cursor-corner-top-right.xbm
* cursors/xbm/cursor-side-bottom-mask.xbm
* cursors/xbm/cursor-side-bottom.xbm
* cursors/xbm/cursor-side-left-mask.xbm
* cursors/xbm/cursor-side-left.xbm
* cursors/xbm/cursor-side-right-mask.xbm
* cursors/xbm/cursor-side-right.xbm
* cursors/xbm/cursor-side-top-mask.xbm
* cursors/xbm/cursor-side-top.xbm: new cursors for edge and corner
resizing. They perfectly align with the small crosshair and can be
used together with tool cursors and cursor modifiers.
* cursors/gimp-tool-cursors.xcf: add them here too.
* app/widgets/widgets-enums.h: add them to the GimpCursorType enum.
* app/widgets/gimpcursor.c: add them here too.
* app/display/gimpdisplayshell-cursor.c: treat them like the small
crosshair (don't replace them by the small crosshair but use them
as-is). Also allow the bad modifier with the large crosshair.
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_cursor_update): use the new cursors. Don't
call gimp_tool_set_cursor() here.
(gimp_rectangle_tool_response): reset "function" to RECT_CREATING
when resetting the tool.
* app/tools/gimpselectiontool.[ch] (struct GimpSelectionTool):
added boolean member "allow_move" which defalts to TRUE.
(gimp_selection_tool_oper_update): don't move masks, floating
selections or anything when "allow_move" is FALSE. Changed
behavior of click inside a selection to simply create a new
selection, need to press alt+shift now to drag-float the
selection. Please test this, it's apretty fundamental change!
(gimp_selection_tool_cursor_update): use the tool's configured
cursor instead of always GIMP_CURSOR_MOUSE, so this function can
be called after gimp_rectangle_tool_cursor_update() to add the
plus, minus etc. modifiers.
* app/tools/gimpnewrectselecttool.c: implement
GimpTool::cursor_update() and call
gimp_rectangle_tool_cursor_update() from there. Chain up to get
the plus, minus etc. modifiers added.
Re-enble selection moving:
(gimp_new_rect_select_tool_oper_update): set GimpSelectionTool's
"allow_move" to FALSE unless the rectangle tool is in an idle
state.
(gimp_new_rect_select_tool_button_press): allow a selection moving
to be started if the rectangle tool is idle. Fall back to starting
a rect select if gimp_selection_tool_start_edit() returned FALSE.
2006-06-02 Sven Neumann <sven@gimp.org>
* app/composite/gimp-composite.c (gimp_composite_use_cpu_accel):
need to test for GIMP_COMPOSITE_OPTION_NOEXTENSIONS.
* libgimp/gimp.c (gimp_config): call gimp_set_use_cpu_accel() from
here, not in gimp_main().
* plug-ins/common/sel_gauss.c: applied patch from Loren Merritt
that adds MMX code to boost the plug-in speed (bug #342860).
2006-06-02 Sven Neumann <sven@gimp.org>
Moved the CPU detection code to libgimpbase (see bug #342860):
* app/base/Makefile.am
* app/base/cpu-accel.[ch]
* app/base/test-cpu-accel.c: removed here...
* libgimpbase/Makefile.am
* libgimpbase/gimpbase.h
* libgimpbase/gimpcpuaccel.[ch]
* libgimpbase/test-cpu-accel.c: ... and added here again with
some API changes.
* app/composite/Makefile.am
* app/composite/make-installer.py: changed accordingly.
* app/composite/gimp-composite-*-installer.c: regenerated.
* libgimp/gimp.c (gimp_main): call gimp_set_use_cpu_accel().
2006-06-01 Michael Natterer <mitch@gimp.org>
* cursors/Makefile.am
* cursors/modifier-bad.png
* cursors/xbm/modifier-bad-mask.xbm
* cursors/xbm/modifier-bad.xbm: new "bad" cursor
modifier. Replaces the "bad" cursor.
* cursors/gimp-tool-cursors.xcf: added it here too.
* app/widgets/widgets-enums.h: added GIMP_CURSOR_MODIFIER_BAD.
* app/widgets/gimpcursor.c: add the bad modifier. Leave the bad
cursor there for now.
* app/display/gimpdisplayshell-callbacks.c
* app/tools/gimpaligntool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolortool.c
* app/tools/gimpfliptool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmovetool.c
* app/tools/gimptransformtool.c
* app/tools/gimpvectortool.c: use the modifier instead of the
cursor. Fixes hotspot jumping when switching between normal and
bad cursors. The changed cursor_update() functions even make more
sense IMHO. Fixes bug #158407.
2006-06-01 Sven Neumann <sven@gimp.org>
Added basic framework for plug-ins to access the use_cpu_accel
configuration (bug #342860):
* app/composite/gimp-composite.[ch]: added new function
gimp_composite_use_cpu_accel().
* libgimpbase/gimpprotocol.[ch]: added use_cpu_accel to the config
message.
* app/plug-in/gimppluginmanager-call.c: pass the return value of
gimp_composite_use_cpu_accel() for config.use_cpu_accel.
* libgimp/gimp.[ch]: make the config value accessible by means of
a new function gimp_use_cpu_accel().
* libgimp/gimp.def: updated.
* app/tools/gimprectangletool.[ch]: add "constrain" property
to specify whether to clip at image bounds when computing
dimensions.
* app/tools/gimpcroptool.c
* app/tools/gimpnewrectselecttool.c: set "constrain" to TRUE.
* app/tools/gimpellipseselecttool.c: set "constrain" to FALSE.
Hopefully fixes bug #329817.
2006-05-30 Michael Natterer <mitch@gimp.org>
Honor active components when pasting. Fixes bug #150845:
* app/core/gimplayer-floating-sel.c (floating_sel_composite):
don't temporarily set all image components to active while
compositing.
* app/core/gimpimage.c (gimp_image_set_component_active):
relax()/rigor() the floating selection around setting the "active"
flag. Also make sure the projection is updated correctly.
2006-05-30 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdataeditor.c (gimp_data_editor_name_activate)
* app/widgets/gimpdatafactoryview.c
(gimp_data_factory_view_tree_name_edited): strip the newly
entered name from whitespace and reject empty names.
2006-05-30 Manish Singh <yosh@gimp.org>
* app/batch.c (batch_run): GIMP_BATCH_INTERPRETER can be set in
the environment to override the default batch interpreter procedure.
* plug-ins/pygimp/plug-ins/happy-valley-relief.py: basic python
code evaluator function.
* plug-ins/pygimp/plug-ins/Makefile.am: add above file.
2006-05-30 Manish Singh <yosh@gimp.org>
* app/file/gimprecentlist.c: #define _GNU_SOURCE instead of
_SVID_SOURCE, so we get all the declarations we need. Fixes
bug #342390.
2006-05-29 Sven Neumann <sven@gimp.org>
* configure.in: use PANGO_DISABLE_DEPRECATED for pango < 0.13.0.
* app/text/gimptext-vectors.c: added const qualifiers to the
FT_Vector parameters of the FT_Outline_Funcs.
2006-05-29 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdialogfactory.c
(gimp_dialog_factory_dialog_new_internal): code cleanup; only call
gtk_window_present() if called with present == TRUE.
2006-05-29 Sven Neumann <sven@gimp.org>
* app/core/gimpbrushgenerated.c (gimp_brush_generated_load): don't
choke on brush files with empty names (bug #343140).
(gimp_brush_generated_save): warn about brushes with empty names.
2006-05-29 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdock.c (gimp_dock_key_press_event): make sure
text widgets get all key events first. Fixes bug #301006.
2006-05-28 Michael Natterer <mitch@gimp.org>
Applied patch from David Gowers which adds actions to select
palette and colormap colors with actions. Modified the patch quite
a bit. Fixes bug #130123.
* app/widgets/gimpcolormapeditor.[ch]
* app/widgets/gimppaletteeditor.[ch]: add functions get_index()
which gets the currently selected color's index (optionally the
index of a passed color), set_index() which sets the selected
color by index, and max_index() which returns the maximum possible
color index.
* app/dialogs/dialogs-constructors.c: changed accordingly.
* app/actions/context-actions.c
* app/actions/context-commands.[ch]: actions and callbacks which
use the new functions.
2006-05-28 Michael Natterer <mitch@gimp.org>
* app/core/gimppalette-import.[ch]: added support for extracting
colors from the selected pixels only.
* app/dialogs/palette-import-dialog.c: added "Sample merged" and
"Selected Pixels only" toggles. Fixes bug #316212. Cleaned up the
code quite a bit.
2006-05-28 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_picked):
removed all code except info dialog updating and chain up instead.
* app/tools/gimpcolortool.c (gimp_color_tool_real_picked): newly
added default implementation. Also updates the colormap dialog and
picks into a palette.
* app/tools/gimppainttool.c (gimp_paint_tool_color_picked):
removed. The default impl. does this and much more now. Hopefully
fixes bug #320660.
2006-05-26 Michael Natterer <mitch@gimp.org>
* app/dialogs/palette-import-dialog.c: set the "Number of colors"
and "Interval" widgets insensitive for indexed images.
Fixes bug #342970.
2006-05-24 Sven Neumann <sven@gimp.org>
* app/config/gimprc-blurbs.h (SWAP_PATH_BLURB, TEMP_PATH_BLURB):
use "folder" in place of "directory".
* app/dialogs/preferences-dialog.c: use GtkFileChooserButtons for
the "swap-path" and "temp-path" preferences and a simple GtkEntry
for the "web-browser" preference.
* modules/cdisplay_proof.c: use a GtkFileChooserButton instead of
a GimpFileEntry widget.
2006-05-24 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontext.c (gimp_context_tool_list_thaw): the
default tool is the paintbrush, not rect select.
* app/tools/gimp-tools.c (gimp_tools_register): attach the default
visibility state to the tool_info.
* app/actions/tools-commands.c (tools_reset_cmd_callback): use the
attached boolean instead of reimplementing the default visibility
logic.
2006-05-24 Sven Neumann <sven@gimp.org>
* app/dialogs/palette-import-dialog.c: use a GtkFileChooserButton
instead of a GimpFileEntry widget.
* data/palettes/Tango.gpl (Name): removed "Palette" from name.