2006-09-28 Sven Neumann <sven@gimp.org>
* app/composite/gimp-composite.h
* app/composite/gimp-composite-generic.c
* app/paint-funcs/paint-funcs-generic.h
* app/paint-funcs/paint-funcs.c: added lots of const qualifiers,
moved variables to local scopes.
* app/base/pixel-processor.c: formatting.
2006-09-27 Michael Natterer <mitch@gimp.org>
* app/tools/gimpconvolvetool.c (gimp_convolve_tool_register):
changed menu label to "Bl_ur / Sharpen" and shortcut to Shift+U.
Fixes bug #356137. Use "Blur / Sharpen" for all strings.
* app/tools/gimpdodgeburntool.c (gimp_dodge_burn_tool_register):
changed strings from "Dodge/Burn" to "Dodge / Burn".
2006-09-26 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintcore.[ch]: added GError** parameter to
GimpPaintCore::start().
* app/tools/gimppainttool.c (button_press): display the error in
the statusbar.
* app/paint/gimppaintcore-stroke.c: pass a NULL error, effectively
swallowing mssages. Will fix that later.
* app/paint/gimpbrushcore.c
* app/paint/gimpclone.c
* app/paint/gimpsourcecore.c: changed accordingly. Set the error
instead of calling g_message().
* app/paint/gimpheal.c
* app/paint/gimpperspectiveclone.c: implement start() and bail out
early on indexed drawables instead of showing a g_message() in
other functions that are called later.
* app/tools/gimptool.[ch]: added GError** to GimpTool::initialize().
* app/tools/gimptool.c (gimp_tool_initialize): display the error
in the statusbar. Keep the external API GError-free.
* app/tools/gimprectangletool.[ch]: added GError** to
gimp_rectangle_tool_initialize().
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorizetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpimagemaptool.c
* app/tools/gimplevelstool.c
* app/tools/gimpperspectiveclonetool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c
* app/tools/gimptransformtool.c: changed accordingly. Set the
errors in initialize() instead of using gimp_message().
* app/tools/gimpblendtool.c: implement initialize() and bail out
early on indexed images instead of showing a gimp_message() in
button_press().
2006-09-26 Sven Neumann <sven@gimp.org>
* modules/Makefile.am
* modules/colorsel_cmyk_lcms.c: new CMYK color-selector that
uses
littleCMS for the RGB <-> CMYK conversion. This is built instead
of the standard CMYK color-selector if lcms is available.
* libgimpwidgets/gimpcolornotebook.c
* libgimpwidgets/gimpcolorselection.[ch]
* libgimpwidgets/gimpcolorselector.[ch]
* libgimpwidgets/gimpwidgets.def: added API to set the color
management configuration on color selectors.
* libgimpwidgets/gimpwidgetstypes.h: include
libgimpconfig/gimpconfigtypes.h.
* app/dialogs/grid-dialog.c
* app/dialogs/preferences-dialog.c
* app/widgets/gimpcolordialog.c
* app/widgets/gimpcoloreditor.c
* app/widgets/gimpcolorpanel.c
* app/widgets/gimpgrideditor.[ch]
* app/widgets/gimppropwidgets.c
* app/widgets/gimptoolbox-color-area.c: set the color management
configuration on (hopefully) all color selectors.
* modules/cdisplay_lcms.c: use a GimpHintBox widget.
2006-09-24 Michael Natterer <mitch@gimp.org>
Some more proper typing instead of using pointers:
* libgimpconfig/gimpconfig-params.h: added macro
GIMP_CONFIG_INSTALL_PROP_BOXED().
* app/core/gimpcontainer.c: made "children-type" a GParamSpecGType.
* app/widgets/gimpcontrollerinfo.c: made "mapping" a
GParamSpecBoxed and use g_hash_table_unref() instead of destroy().
* app/widgets/gimppdbdialog.c: made "select-type" a GParamSpecGType.
* app/dialogs/module-dialog.c
* app/widgets/gimpcolordisplayeditor.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimpfileprocview.c
* app/widgets/gimppluginaction.c: use proper object types, boxed
types and G_TYPE_GTYPE instead of G_TYPE_POINTER for various list
stores and signal signatues.
2006-09-24 Michael Natterer <mitch@gimp.org>
* app/core/gimpimagemap.c (gimp_image_map_apply): don't restore
the entire affected area of the drawable here (it can take *long*
on large selections).
(gimp_image_map_do): do it here instead, as we idle-process the
chunks. Slightly reduces overall speed but improves responsiveness
*massively*
(gimp_image_map_get_color_at): fixed to honor undo tiles offset
and be readable.
(gimp_image_map_commit)
(gimp_image_map_clear)
(gimp_image_map_clear): don't unref the image_map here. Objects
don't memory manage themselves.
Cleaned up the entire file and got rid of all sorts of uglyness.
* app/tools/gimpimagemaptool.c: unref the image_map here.
* app/tools/gimpcurvestool.c (curves_graph_events): update the
preview on button_press when we are dragging a free curve.
2006-09-24 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcurvestool.c (curves_graph_events): jikes, update
the preview only if we actually drag the curve, not on any mouse
movement.
* app/tools/gimpcroptool.c
* app/tools/gimprectangleselecttool.c
* app/tools/gimprectangletool.[ch]: put back code for responding
to modifiers pressed after mouse1-down, at mitch's request.
* app/tools/gimprectangleoptions.[ch]
* app/tools/gimprectangleselecttool.c
* app/tools/gimprectangletool.c
* app/tools/gimpselectionoptions.c: move "auto-shrink"
and "shrink-merged" from selection options to
rectangle options where they belong; now shown
for crop tool as well as rect select.
* app/actions/tools-actions.c
* app/actions/tools-commands.[ch]: add new actions for
toggling "fixed-aspect" and "fixed-center" options of
rectangle tools.
* app/tools/gimprectangletool.[ch]
* app/tools/gimprectangleselecttool.c
* app/tools/gimpcroptool.c: rely on new actions for
keyboard control, not on modifiers pressed after
mouse1-down.
2006-09-22 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_progress_style_set):
terminate the spaces string correctly. Spotted by bill.
2006-09-22 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.[ch]: changed all message setting
functions to use printf-style argument lists. Added new API to
show a temporary message that stays on top regardless of any other
message activity and disappears after 3 seconds.
* app/actions/edit-commands.c: show a statusbar message when
pasting fails because the clipboard contains no image data. Pop a
dialog when "Paste as New" fails. Addresses bug #357059 for
internal functions.
* app/display/gimpdisplayshell-title.c
* app/gui/gui.c
* app/tools/gimptool.c: changed accordingly.
2006-09-22 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_space_released): also look at
shell->space_release_pending when deciding whether to return early.
2006-09-22 Sven Neumann <sven@gimp.org>
* app/gui/gui-message.c
* app/widgets/gimpwidgets-utils.[ch]: moved utility function to
gimpwidgets-utils.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: added a progress parameter to
gimp_pdb_dialog_new() and make the dialog transient to the progress
window.
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/font_select.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/palette_select.pdb
* tools/pdbgen/pdb/pattern_select.pdb: pass progress to
gimp_pdb_dialog_new().
* app/pdb/brush_select_cmds.c
* app/pdb/font_select_cmds.c
* app/pdb/gradient_select_cmds.c
* app/pdb/palette_select_cmds.c
* app/pdb/pattern_select_cmds.c: regenerated.
* libgimp/gimpselectbutton.c: cosmetics.
* app/widgets/gimppropwidgets.c (gimp_prop_aspect_ratio_new):
some small bug-fixes.
* app/tools/gimprectangleoptions.[ch]: major revision. Got
rid of lots of unneeded getter/setter-clutter, simplified
set of options and appearance of gui. Still work in progress.
* app/tools/gimprectangleselectoptions.c
* app/tools/gimprectangletool.c: corresponding changes.
2006-09-21 Sven Neumann <neumann@jpk.com>
* app/base/tile-manager.c (read_pixel_data_1) (write_pixel_data_1):
use the same code on all platforms. The optimization for bytes == 4
was pointless anyway.
* app/display/gimpcanvas.[ch]
* app/tools/gimpdrawtool.[ch]: remove recently added code relating
to stippled xor drawing -- not handled well by some display
drivers.
* app/tools/gimprectangletool.c: improve drawing of handles.
2006-09-20 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugin.c (gimp_plug_in_close): if the plug-in is
in a different process group than GIMP, kill the entire group so
the plug-in's children are killed too.
* plug-ins/uri/uri-backend-wget.c (uri_backend_load_image): open
a process group so the wget process gets killed (bug #356643).
2006-09-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogrambox.c: draw slider positions more
accurately, fixed incorrect use of GtkAdjustments.
2006-09-20 Michael Natterer <mitch@gimp.org>
* app/paint/gimpsourcecore.c: implement GimpPaintCore::start()
and set paint_core->use_saved_proj to TRUE when we are using
the destination drawable image's projection as source. Return
FALSE from start() if there is no src_drawable set and removed
checks for src_drawable != NULL further down in the code path.
* app/tools/gimpperspectiveclonetool.c (button_press)
* app/tools/gimpsourcetool.c (button_press): don't fiddle with
paint_core->use_saved_proj here.
* app/paint/gimpclone.c: implement GimpPaintCore::start() and
return FALSE if we are in pattern mode and there is no pattern to
clone from. Removed GimpPaintCore::paint() implementation because
all it did was popping a message if there is no pattern. Removed
check for pattern != NULL and cleaned up the file a bit.
* app/paint/gimpperspectiveclone.c (paint): removed message about
no pattern to clone from.
2006-09-20 Michael Natterer <mitch@gimp.org>
* app/core/gimpgradient.[ch]: added gimp_gradient_flatten() which
creates a copy of a gradient with all colors that refer to FG or
BG turned into constant colors.
* app/core/gimpdrawable-blend.c (gradient_fill_region): create a
flat copy of the gradient if it contains FG/BG colors. Avoids
gazillions of context color lookups while rendering, depending on
gradient and blend complexity.
2006-09-19 Sven Neumann <sven@gimp.org>
* app/core/gimp.c (gimp_message): don't leak the message.
* app/file/file-utils.c (file_utils_find_proc): clear the error
if we found a file procedure by matching the file extension.
* plug-ins/common/png.c (load_image): don't call gimp_quit() if
opening the file fails but return with GIMP_PDB_EXECUTION_ERROR.
2006-09-19 Michael Natterer <mitch@gimp.org>
Fix disabling of deprecated procedures (bug #345733):
* app/pdb/gimppdb.c (gimp_pdb_register_procedure): silently drop
deprecated procedures if they are disabled via --pdb-compat-mode.
* app/plug-in/gimpplugin-message.c (gimp_plug_in_handle_proc_run):
remove code that handles deprecated procedures even when they are
disabled, the change above makes this impossible.
Call plug_in_params_to_args() also if we didn't find the
procedure, so the PDB doesn't choke on NULL args.
2006-09-17 Sven Neumann <sven@gimp.org>
* app/core/gimp-user-install.c (user_install_migrate_files):
do not migrate toolrc and the tool-options folder.
2006-09-16 Michael Natterer <mitch@gimp.org>
* app/tools/gimpperspectiveclonetool.c (button_press)
* app/tools/gimpsourcetool.c (button_press): need to instruct the
paint_core to make a copy of the projection whenever we clone from
the same *image*, not from the same display. Fixes crash when
cloning from the same image's projection in another view
(bug #356209).
Trying to implement some usability recommendations from
Peter Sikking: bigger handles, more feedback to user.
* app/display/gimpcanvas.[ch]: add
GIMP_CANVAS_STYLE_XOR_STIPPLED to set of styles.
* app/tools/gimpdrawtool.[ch]
(gimp_draw_tool_draw_rectangle_stippled): new function.
Needs a better stipple pattern, though.
* app/tools/gimprectangletool.c: bigger handles in corners,
and highlight thing that user is currently moving.
* app/widgets/gimprectangletool.c: even if constraining to boundaries,
keep updating rectangel when pointer goes outside boundaries.
Fixes bug #355740.
* app/widgets/gimppropwidgets.[ch]: add prop widget specially
for controlling aspect ratio.
* app/tools/gimprectangleoptions.ch]: use "aspect-numerator"
and "aspect-denominator" properties instead of "aspect",
and use new prop widget in gui to set and display them.
* app/tools/gimprectangletool.c: calculate aspect from
numerator and denominator.
2006-09-14 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcurvestool.c (curves_graph_events): when editing a
"smooth" curve, update the image while dragging instead of on
button_release. Suggested by Joel Becker.
2006-09-14 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontrollereditor.[ch]
* app/widgets/gimpcontrollerlist.c: pass a GimpContext to
gimp_viewable_dialog_new().