2006-11-04 Sven Neumann <sven@gimp.org>
* app/core/gimpimagemap.c (gimp_image_map_do): moved call to
gimp_item_get_image() out of the loop.
* app/base/pixel-region.c
* app/core/gimpitem.c: formatting.
2006-11-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.[ch]: added gimp_image_add_layers() which
takes a list of layers and vierport coordinates to center the
layers in.
* app/dialogs/file-open-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/widgets/gimplayertreeview.c: use it instead of having the
same code three times.
2006-11-03 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch] (enum GimpUndoType): added value
GIMP_UNDO_GROUP_LAYER_ADD.
* app/file/file-open.[ch]: changed file_open_layer() to
file_open_layers(), added parameter "gboolean merge_visible",
return a GList of layers.
* app/dialogs/file-open-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/widgets/gimplayertreeview.c: pass merge_visible = FALSE and
add all returned layers to the image. Fixes bug #358082.
(contains lots of duplicated code, will factor that out later).
* tools/pdbgen/pdb/fileops.pdb (load_layer): pass merge_visible = TRUE
(load_layers): new wrapper which returns all the image's layers.
* app/pdb/fileops_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpfileops_pdb.[ch]: regenerated.
* libgimp/gimp.def: changed accordingly.
2006-11-01 Sven Neumann <sven@gimp.org>
* app/core/core-enums.[ch]: string change.
* app/dialogs/preferences-dialog.c: added a combo box for the
color-profile-policy.
2006-10-29 Michael Natterer <mitch@gimp.org>
* app/config/gimprc.[ch]: added gimp_rc_migrate() which resets
all GimpParamConfigPath properties to default values.
* app/core/gimp-user-install.c (user_install_migrate_files): use
the function. Fixes bug #332620.
2006-10-27 Sven Neumann <sven@gimp.org>
* libgimpconfig/gimpcolorconfig-enums.[ch]
* libgimpconfig/gimpcolorconfig.c
* libgimpconfig/gimpconfig.def: removed unused enum
GimpColorFileOpenBehaviour.
* app/core/core-enums.[ch]: added enum GimpColorProfilePolicy.
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h: added property
"color-profile-policy".
* app/plug-in/Makefile.am
* app/plug-in/plug-in-icc-profile.[ch]: new files that wrap
usage
of the lcms plug-in.
* app/file/file-open.c: implement the user-configured policy for
embedded color profiles.
* app/widgets/gimpimageprofileview.c: use the wrapper to call
the
plug-in-icc-profile-info procedure.
* app/widgets/gimptoolbox-dnd.c: pass TRUE for "attach_comment"
parameter to gimp_create_image().
* app/core/gimptemplate.c
* app/file/Makefile.am: cosmetic changes.
* app/Makefile.am: some resorting to make the beast link again.
2006-10-26 Michael Natterer <mitch@gimp.org>
* app/core/gimp-transform-region.c (gimp_transform_region): make
lanczos work for orig_tiles that don't start at 0,0. Please folks,
some basic testing of anything but the most simple use case next
time.
2006-10-26 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimp-transform-region.[ch]: new files containing
gimp_transform_region() and all its voodoo utility functions.
* app/core/gimpdrawable-transform.c: removed the stuff here.
2006-10-26 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable-transform.c
(gimp_drawable_transform_tiles_affine): factored out new function
gimp_transform_region() that contains all the actual transform
magic, doesn't use a GimpDrawable, and transforms into a passed
PixelRegion. Will be used for perspective clone after some more
changes.
2006-10-25 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable-transform.c
(gimp_drawable_transform_tiles_affine): fix indentation and
spacing in the lanczos code. Removed trailing whitespace.
2006-10-25 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.[ch]: added signals "parasite-attached" and
"parasite-detached".
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpimageprofileview.[ch]: draft of a new widget
that
displays color profile information.
* app/widgets/gimpimagepropview.c: minor cleanup and bug fix.
* app/dialogs/image-properties-dialog.c: added Color Profile
information.
* plug-ins/common/lcms.c: bug fixes.
2006-10-21 Michael Natterer <mitch@gimp.org>
Added "Edit -> Fade" which allows to modify the paint mode and
opacity of the last drawable operation (fill, plugins etc.).
Started from a patch by Bill Skaggs. Fixes bug #170707.
* app/base/base-enums.[ch] (enum GimpLayerModeEffects): register
the values REPLACE_MODE, ERASE_MODE and ANTI_ERASE_MODE with
the type system.
* app/widgets/gimppropwidgets.[ch]
* app/widgets/gimpwidgets-constructors.[ch]: added "gboolean
with_replace_modes" to the paint mode menu constructors.
* app/tools/gimppaintoptions-gui.c
* app/widgets/gimpbrushselect.c
* app/widgets/gimplayertreeview.c: pass with_replace_modes = FALSE.
* app/core/gimpdrawableundo.[ch]: added members which keep tiles,
paint mode and opacity of the pasted pixels.
* app/core/gimpimage-undo.[ch] (gimp_image_undo_get_fadeable):
returns a GimpUndo suitable for a fade operation, or NULL.
* app/core/gimp-edit.[ch] (gimp_edit_fade): implements the actual
fade by undoing the last operation and then re-applying the pixels
with different paint mode and opacity.
* app/core/gimpdrawable-combine.c: store the pasted pixels in
the GimpDrawableUndo.
* app/actions/edit-actions.c
* app/actions/edit-commands.[ch]: action and callback for fade.
* app/dialogs/Makefile.am
* app/dialogs/fade-dialog.[ch]: the fade dialog.
* app/widgets/gimphelp-ids.h: the fade help ID.
* menus/image-menu.xml.in: added a menu entry in "Edit".
2006-10-20 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpdrawableundo.[ch]: new undo class for drawable undos.
This was lurking on my disk too long...
* app/core/gimpimage-undo-push.c (gimp_image_undo_push_drawable):
use it instead of implementing it manually.
2006-10-18 Michael Natterer <mitch@gimp.org>
Applied modified patch from Martin Nordholts which adds a "Rounded
Corners" option to the rectangle select tool. Fixes bug #86279.
* app/core/gimpchannel-combine.[ch]: added
gimp_channel_combine_ellipse_rect(). Use it from
gimp_channel_combine_ellipse().
* app/core/gimpchannel-select.[ch]: added
gimp_channel_select_round_rect()
* app/tools/gimprectangleselectoptions.[ch]: added properties
"round-corners" and "corner-radius" and GUI for the new propeties.
* app/tools/gimprectangleselecttool.h: added macro
GIMP_RECT_SELECT_TOOL_GET_OPTIONS().
* app/tools/gimprectangleselecttool.c (gimp_rect_select_tool_draw):
draw round corners if enabled.
(gimp_rect_select_tool_real_select): use
gimp_channel_select_round_rect() if enabled.
* app/tools/gimpselectionoptions.[ch]: added "antialias_toggle"
to the GimpSelectionOptions struct so the rect select options
can set its sensitivity.
Unrelated:
* app/tools/gimpellipseselecttool.c (gimp_ellipse_select_tool_draw):
use 360 * 64 instead of 23040.
2006-10-16 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: removed the "floating" flag and the
floating/sink API.
(gimp_item_init): call g_object_force_floating() instead.
* app/core/gimpimage.c
* app/core/gimplayer.c
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb: use combinations of
g_object_ref_sink() and g_object_unref() instead of
gimp_item_sink(). Use g_object_is_floating() instead of
gimp_item_is_floating().
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c: regenerated.
2006-10-14 Michael Natterer <mitch@gimp.org>
* app/core/gimpgrid.c: don't include "libgimpbase/gimplimits.h"
* app/core/gimpimage-undo-push.c: one more g_message() converted
to gimp_message().
2006-10-09 Michael Natterer <mitch@gimp.org>
Added message severities and make sure all messages are routed
through a central function, so redirecting to the error console or
stderr work again:
* app/core/core-enums.[ch]: added enum GimpMessageSeverity { INFO,
WARNING, ERROR }.
* app/core/gimp.[ch] (gimp_message)
(gimp_message_valist): added severity parameter. Changed
"GimpProgress *progress" parameter to "GObject *handler", where
"handler" can be either a GimpProgress, a GtkWidget or NULL.
* app/core/gimp-gui.[ch] (gimp_show_message): ditto. Honor
--console-messages again. Always dispatch to the GUI message
handler first if it exists.
* app/gui/gui-message.[ch]: pass severity parameters around.
(gui_message_error_dialog): if "handler" is a progress, dispatch
the message to it first. If it is a widget (and *not* a progress),
use a GtkMessageDialog on top of that widget's toplevel. Fall
back to the usual GimpErrorDialog otherwise.
* app/core/gimpprogress.[ch] (gimp_progress_message): added
severity parameter. Also added boolean return value to the virtual
function so it can decide to fail if it can't handle the message.
* app/display/gimpdisplay.c: implement GimpProgress::message() and
redirect the message to GimpDisplayShell.
* app/display/gimpdisplayshell-progress.c: implement
GimpProgress::message() and redirect the message to GimpStatusbar
if it is not an error and if the status bar is visible.
* app/display/gimpstatusbar.[ch]: implement GimpProgress::message(),
but fail on messages that contain a newline. Show the right icons
for the message severities (work in progress).
* app/display/gimpdisplayshell.[ch]: removed
gimp_display_shell_message() and its _valist() variant.
* app/widgets/gimperrorconsole.[ch]: show the right icons for the
message severities.
* app/widgets/gimpthumbbox.c (gimp_thumb_box_progress_message):
return TRUE to swallow all messages.
* app/widgets/gimpwidgets-utils.[ch]: removed
gimp_show_message_dialog(). Added gimp_get_message_stock_id().
* app/errors.c
* app/actions/edit-commands.c
* app/actions/error-console-commands.c
* app/actions/file-commands.c
* app/actions/select-commands.c
* app/actions/text-editor-commands.c
* app/actions/vectors-commands.c
* app/core/gimpimage-convert.c
* app/core/gimpimagefile.c
* app/dialogs/convert-dialog.c
* app/dialogs/file-open-dialog.c
* app/dialogs/file-open-location-dialog.c
* app/dialogs/file-save-dialog.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/stroke-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/pdb/gimppdb.c
* app/plug-in/gimpplugin.c
* app/tools/gimpimagemaptool.c
* app/tools/gimptool.c
* app/tools/gimpvectortool.c
* app/widgets/gimpactionview.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimppdbdialog.c
* app/widgets/gimpvectorstreeview.c
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c
* app/xcf/xcf.c
* tools/pdbgen/pdb/brush.pdb
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/message.pdb
* tools/pdbgen/pdb/palette.pdb: added severity parameter to
gimp_message() calls. Convert all calls to
gimp_show_message_dialog() and gimp_display_shell_message() to
gimp_message(). Also converted some more g_message() calls.
* app/pdb/brush_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/image_cmds.c
* app/pdb/message_cmds.c
* app/pdb/palette_cmds.c: regenerated.
2006-10-04 Michael Natterer <mitch@gimp.org>
* app/core/gimpbrushgenerated-load.c
* app/core/gimpgradient-load.c
* app/core/gimppalette-load.c
* app/core/gimppalette-save.c: read and write all files in binary
mode. Improved parser error messages (added line numbers). Minor
changes to simply read DOS files instead of barfing on them.
* app/core/gimpimage-convert.c
(median_cut_pass2_nodestruct_dither_rgb): adjust alpha-dithering
and make code more readable; fixes bug #358851 as suggested
by Tor Lillqvist.
2006-10-03 Michael Natterer <mitch@gimp.org>
* app/core/gimppalette-load.[ch]: added
gimp_palette_load_detect_format().
* app/core/gimppalette-import.c: removed it here. Also removed all
file I/O related includes.
2006-10-03 Michael Natterer <mitch@gimp.org>
* app/core/gimppalette-load.[ch]: added functions to load ACT,
RIFF and PSP palette files but don't use them as data file
loaders (yet?)
* app/core/gimppalette-import.c (gimp_palette_import_from_file):
use the functions instead of implementing all formats inline.
2006-10-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpgradient-load.h: keep the file extension defines
here, just as we do it for brushes.
* app/core/gimpgradient.h: removed them here.
* app/core/gimpgradient.c: changed accordingly.
2006-10-03 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-convert.[ch]
(gimp_image_convert_set_dither_matrix): applied patch from David
Gowers (bug #359175) and did some further cleanup.
2006-09-28 Sven Neumann <sven@gimp.org>
* app/core/gimp.h: formatting.
* app/tools/gimptool.c (gimp_tool_message): use gimp_message() if
the statusbar is not visible.
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-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.
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-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-11 Sven Neumann <sven@gimp.org>
* app/core/core-enums.[ch]: use "Solid color" as description for
GIMP_STROKE_STYLE_SOLID.
* app/widgets/gimpstrokeeditor.c: moved "style" control further up
to make it less ambiguous (bug #309740).
* app/dialogs/stroke-dialog.c (stroke_dialog_new): pass the context
to gimp_container_combo_box_new().
2006-09-09 Sven Neumann <sven@gimp.org>
* app/app_procs.[ch]
* app/main.c: initialize the error subsystem after the gimp
object
has been created.
* app/errors.[ch]: store a reference to the gimp object (eek)
and
use it to call gimp_gui_ungrab() before g_on_error_query().
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: added gimp_gui_ungrab().