2003-01-29 Michael Natterer <mitch@gimp.org>
Fixed bug #97449:
* app/core/gimpchannel.c (gimp_channel_scale,resize)
* app/core/gimplayer.c (gimp_layer_scale,resize)
* app/undo.c (undo_pop_layer_mod,channel_mod): emit "size_changed"
whenever the size has changed. Cleaned up the two undo_pop
functions.
* app/core/gimpimage.c (gimp_image_size_changed): emit
"size_changed" on all layers/channels so their previews are
updated correctly on image resize and image resize undo. Don't
invalidate layers/channels previews here because it's the
layers'/channels' job to invalidate themselves if needed.
2003-01-05 Manish Singh <yosh@gimp.org>
* many files in app, modules and libgimp*: cleanup, removed unecessary
G_OBJECT() casts. Should do the same for plug-ins, when more of them
get undeprecated.
2003-01-02 Michael Natterer <mitch@gimp.org>
Replaced Garry's fix for bug #98843 by a more general solution
which stops the active tool when an undo group start is pushed:
* app/core/gimpimage.[ch]: removed the "layer_merge" signal
and added "undo_start" instead.
* app/undo.c: emit "undo_start" in undo_push_group_start()
_before_ checking if gimage->undo_on is TRUE.
* app/tools/tool_manager.c: connect to "undo_start" and HALT the
active tool if neccessary.
* app/core/core-types.h: added EDIT_COPY_UNDO_GROUP.
* app/core/gimpedit.c: push an undo group around the copy
operation. Will probably have to add more undo group types to wrap
other critical image modifications with.
* app/core/gimpimage-merge.c
* app/gui/convert-dialog.c
* app/gui/edit-commands.c
* app/gui/test-commands.c
* app/tools/gimpimagemaptool.c: removed all special code to
stop the active tool.
2003-01-01 Garry R. Osgood <grosgood@rcn.com>
* MAINTAINERS: Updated my CVS.
* app/undo.c
* app/undo_history.c
* app/core/gimpimage.[ch]
* app/tools/gimpimagemaptool.c
* app/core/gimpimage-merge.c: implementation of LAYER_MERGE
signal emitters and listeners. (see bug #98843); listeners thaw
undo stack (image map tools, usually).
* app/widgets/gimpviewabledialog.c: gimp_viewable_dialog_close ()
Check if the widget has a non-null reference to a window before
using it to synthesize a cancel event. These seven deltas closes bug #98843.
* app/core/gimpimage-merge.c: (gimp_image_merge_layers())
Regardless of merge type, temporarily set composition mode
of bottom layer to NORMAL, then merge. Closes bug #101036.
2002-11-30 Michael Natterer <mitch@gimp.org>
* app/core/gimp.[ch]: added gimp->edit_config which is a copy of
gimp->config except for GIMP_PARAM_RESTRT options. Create it in
gimp_set_config() which must be called before anything else after
gimp_new(). Install "notify" handlers between the both to keep
them up-to-date. Enable auto saving for the edit_config.
* app/app_procs.c: call gimp_set_config().
* tools/pdbgen/pdb/gimprc.pdb: use gimp->edit_config here so we
don't accidentially change GIMP_PARAM_RESTART values from the PDB.
* app/pdb/gimprc_cmds.c: regenerated.
* app/gui/preferences-dialog.c: use gimp->edit_config as the base
for all prefs operations. Disable auto saving while the prefs
dialog is open. No need any more to parse the saved gimprc to get
GIMP_PARAM_RESTART values. Removed GIMP_PARAM_RESTART special
hacks because edit_config handles them transparently for us.
Unrelated:
* app/core/gimpimage.c (gimp_image_init): initialize active_vectors.
* app/gui/gui.c (gui_image_disconect): when the last image
disappears, show the toolbox only if the image had a display.
2002-11-21 Michael Natterer <mitch@gimp.org>
* app/base/tile-cache.[ch]: added tile_cache_init() and
tile_cache_exit() as public functions.
* app/base/base.c: call them. Connect to GimpBaseConfig's
notify::tile-cache-size.
* app/core/gimpimage.c: connect to notify::transparency-type and
notify::transparency-size and call
gimp_image_invalidate_layer_previews() in the callback.
* app/display/gimpdisplay-foreach.[ch]: removed
gdisplays_expose_full().
* app/display/gimpdisplayshell-handlers.c: connect to
notify::transparency-type and notify::transparency-size and expose
the shell in the callback.
* app/display/gimpdisplayshell-render.[ch]: added render_init()
and render_exit() functions and connect to
notify::transparency-type and notify::transparency-size for
setting up the render buffers.
* app/gui/gui.c: call the new functions instead of render_setup().
Connect to notify::show-tool-tips.
* app/gui/preferences-dialog.c: copy values between the global
config object and its local clone only when they have changed.
Wrap setting of lots of values in g_object_[freeze|thaw]_notify().
Added lots of mnemonics.
* app/gui/resolution-calibrate-dialog.c: added mnemonics.
* app/widgets/gimppropwidgets.c: g_object_set() the values edited
by the gimp_prop_coordinates() much less often by remembering the
old values and setting them only when they have changed.
2002-09-08 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.c (gimp_image_get_colormap): return
gimage->cmap directly instead of calling
gimp_drawable_cmap(active_drawable) without checking if there
actually is an active_drawable.
* tools/pdbgen/pdb/image.pdb (image_get_cmap): use g_memdup()
instead of g_new() followed by memcpy().
* app/pdb/image_cmds.c: regenerated.
2002-08-28 Michael Natterer <mitch@gimp.org>
* app/undo.c (undo_pop_layer)
* app/core/gimpimage.c (gimp_image_[add|remove]_layer): emit
"alpha_changed" from the image if we started (or ended up)
with an image containing one layer without alpha.
* app/core/gimplayer.c: use gimp_container_num_children() instead
of accessing container->num_children manually.
2002-08-20 Michael Natterer <mitch@gimp.org>
Make sure the selection (gimpimage-mask.c) functionality is really
built *on top* of the GimpChannel functionality:
* app/undo.[ch]: renamed undo_push_image_mask() to
undo_push_mask() and generalized it's API to take a GimpChannel
param so undos can be pushed for channels which are not the
image's selection. Simplified the API and added code which copies
the region of interest instead of leaving this to callers.
* app/undo_types.h: s/IMAGE_MASK_UNDO/MASK_UNDO/
* app/undo_history.c: changed accordingly.
* app/core/gimpchannel.[ch]: don't #include "gimpimage-mask.h".
Changed gimp_channel_push_undo() to really push a channel undo,
not a selection undo. Added "gboolean push_undo" params to all
functions which are called from gimpimage-mask.c. Various cleanups
and optimizations. Added /*< proxy-foo >*/ stuff to the header so
we export just the struct itself to libgimpproxy. Added accessors
gimp_channel_[get|set]_show_masked().
* app/core/gimpimage-mask.[ch]: renamed gimp_image_mask_undo() to
gimp_image_mask_push_undo(). Call it before calling GimpChannel
functions which modify the mask, also call all GimpChannel
functions with push_undo = FALSE. Emit gimp_image_mask_changed()
after each operation instead of calling it in
gimp_image_mask_invalidate(). Removed gimp_image_mask_none()
because it is the same as gimp_image_mask_clear().
General cleanup.
* app/core/gimpimage-mask-select.c
* app/core/gimpimage-qmask.c: changed accordingly.
* app/core/gimpedit.c: call gimp_image_mask_clear(), not
gimp_channel_clear (gimp_image_get_mask()).
* app/core/gimpimage-crop.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-scale.c: call gimp_image_mask_changed()
* app/gui/channels-commands.c
* app/gui/select-commands.c
* app/tools/gimptexttool.c
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/selection.pdb: follow GimpChannel and
gimp_image_mask* API changes.
* app/pdb/channel_cmds.c
* app/pdb/selection_cmds.c
* libgimpproxy/gimpchannel.h: regenerated.
Unrelated:
* app/core/gimpimage.c: call gimp_drawable_push_undo() instead of
undo_push_image() directly.
2002-06-06 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.[ch]: renamed gimp_drawable_apply_image()
to gimp_drawable_push_undo() because that's what it actually does.
* app/image_map.c
* app/core/gimpdrawable-offset.c
* app/core/gimpimage-mask.c
* app/core/gimpimage.c
* app/core/gimplayer.c
* app/paint/gimppaintcore.c
* app/tools/gimpinktool.c: changed accordingly. Removed redundant
comments because it's now obvious what the function does from
looking at its name.
* app/core/gimpdrawable.[ch]
* app/core/gimpimage.h: renamed "gboolean undo" parameters to
"gboolean push_undo".
2002-05-15 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig.[ch]: added a return value to indicate
success of GimpConfigInterface::serialize. Added a GimpConfigError
value for write errors and check the return value of all write()
calls. Allow to specify file header and footer when calling
gimp_config_serialize().
* app/config/gimpconfig-serialize.[ch]
* app/config/gimprc.c: changed accordingly.
* app/core/gimp-documents.[ch]: new files with functions to handle
gimp->documents.
* app/core/gimpdocuments.[ch]: removed ...
* app/core/gimpdocumentlist.[ch]: ... and added under this name.
Implements a generic document list.
* app/core/gimp-parasites.[ch]: new files with functions to handle
gimp->parasites.
* app/core/gimpparasite.[ch]: removed.
* app/core/gimpparasitelist.[ch]: nothing more than a generic
parasite list.
* app/undo.c
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimp.c
* app/core/gimpdrawable.c
* app/core/gimpimage-merge.c
* app/core/gimpimage.c
* app/core/gimpitem.c
* app/file/file-open.c
* app/file/file-save.c
* app/gui/file-open-dialog.c
* app/pdb/parasite_cmds.c
* tools/pdbgen/pdb/parasite.pdb: changed accordingly.
2002-05-08 Michael Natterer <mitch@gimp.org>
Started to get rid of the gdisplays_foo() functions in
app/display/gimpdisplay-foreach.[ch]. Work in progress...
* app/core/gimp.[ch]: added the display list to the Gimp object
(as a GimpList of GimpObjects). This way we get more independent
from whether there is GUI or not, as gimp->displays will simply
be an empty list for the --no-interface case.
* app/display/gimpdisplay.[ch]: Removed the global "display_list"
and "display_num" variables. Use gimp->displays instead.
* app/display/gimpdisplay-foreach.[ch]: renamed most functions
from gdisplays_foo() to gimp_displays_foo() and pass them a Gimp
pointer.
* app/core/gimpimage.[ch]: added a "flush" signal.
* app/display/gimpdisplay-handlers.c: connect to "flush" and call
gimp_display_flush() in the callback.
* tools/pdbgen/pdb/display.pdb: use gimp_displays_flush(gimp)
here and only here.
* app/pdb/display_cmds.c: regenerated.
* app/app_procs.c
* app/gui/gui.c
* app/gui/preferences-dialog.c:
s/gdislays_foo()/gimp_displays_foo(gimp)/
* app/image_map.c
* app/undo_history.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-dnd.c
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell-scale.c
* app/gui/channels-commands.c
* app/gui/colormap-editor-commands.c
* app/gui/convert-dialog.c
* app/gui/drawable-commands.c
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/image-commands.c
* app/gui/layers-commands.c
* app/gui/offset-dialog.c
* app/gui/qmask-commands.c
* app/gui/select-commands.c
* app/gui/vectors-commands.c
* app/paint/gimpairbrush.c
* app/tools/gimpbezierselecttool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpinktool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimplevelstool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimpposterizetool.c
* app/tools/gimprectselecttool.c
* app/tools/gimptexttool.c
* app/tools/gimpthresholdtool.c
* app/tools/gimptransformtool.c
* app/tools/gimpvectortool.c
* app/widgets/gimpbufferview.c
* app/widgets/gimpchannellistview.c
* app/widgets/gimpcomponentlistitem.c
* app/widgets/gimpdocumentview.c
* app/widgets/gimpdrawablelistitem.c
* app/widgets/gimpdrawablelistview.c
* app/widgets/gimpimageview.c
* app/widgets/gimpitemlistitem.c
* app/widgets/gimpitemlistview.c
* app/widgets/gimplayerlistitem.c
* app/widgets/gimplayerlistview.c
* app/widgets/gimpvectorslistview.c: replaced gdisplays_flush()
with calls to gimp_image_flush(gimage). Removed inclusion of
"display/gimpdisplay-foreach.h" from most files.
2002-05-08 Michael Natterer <mitch@gimp.org>
* app/core/gimp.h: removed unused commented out prototype.
* app/core/gimpimage.c (gimp_image_set_tattoo_state): fixed it
again after I have b0rked it when using vectors instead of paths.
* app/display/gimpdisplay.c: some comments and one more
g_return_val_if_fail().
* app/widgets/gimpimagedock.c: more fixes for the subtle
active_image <-> active_display difference.
* tools/pdbgen/pdb/display.pdb (gimp_display_delete): call
gimp_display_delete() instead of just destroying it's shell (eek).
* app/pdb/display_cmds.c: regenerated.
Added a special view type for the image list so we can implement
stuff like deleting images which are left over from crashed
plug-ins:
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpimageview.[ch]: new widget: a view on the image
container.
* app/gui/Makefile.am
* app/gui/images-commands.[ch]: new callbacks for it's context menu.
* app/gui/dialogs-constructors.c: use the new widget instead of
plain GimpContainerViews.
* app/gui/menus.c: added an item_factory for it.
2002-05-07 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.c: reverted my last change. I changed the
function when porting everything to URIs because it was documented
to return NULL but didn't behave so.
We need to add a new PDB function which returns the image's
*display* name ("Untitled" for a NULL filename).
2002-05-07 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.c (gimp_image_get_filename): get the image's
uri with gimp_image_get_uri(), not gimp_object_get_name(), so it
automatically becomes "Unnamed" if it's not set.
2002-04-28 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-convert.c (gimp_image_convert): invalidate layer
previews so we don't crash when an image preview is generated after
converting the image from RGB to GRAY.
* app/core/gimpimage.c (gimp_image_get_new_preview): added some
assertions to make it easier to find similar problems in the future.
2002-04-16 Michael Natterer <mitch@gimp.org>
* app/base/temp-buf.c: fixed temp_buf_copy() and
temp_buf_to_[color|gray]() to (1) not crash and (2) to assume the
correct pixelformat. Bugs were never noticed because the code was
never used until today...
* app/core/gimpviewable.c (gimp_viewable_get_new_preview_pixbuf):
use temp_buf_copy() to convert GRAY* TempBufs to RGB* before
creating the pixbuf.
* app/app_procs.c: don't try to open command line images if the
filename could not be converted to an URI.
* app/file/file-open.c
* app/file/file-save.c: use g_file_test() instead of stat().
* app/file/file-utils.[ch]: cleanup, changed
file_utils_filename_to_uri() to take a list of procs, not a Gimp
pointer.
* app/core/gimpimage.c: changed accordingly.
* app/core/gimpimagefile.[ch]: implemented thumbnail saving
following the thumbnail standard v0.5 (the implementation is not
yet fully standard compliant).
* app/gui/file-open-dialog.c: use the new thubmnail functions and
removed all .xvpics code. Not finished yet...
* app/core/gimpdocuments.c
* app/widgets/gimpdocumentview.c: changed accordingly.
* tools/pdbgen/pdb/fileops.pdb (file_save_thumbnail): set "success"
correctly.
* app/pdb/fileops_cmds.c: regenerated.
2002-04-14 Michael Natterer <mitch@gimp.org>
Use UTF-8 encoded escaped URIs for GimpImage and GimpImageFile.
* app/file/file-open.[ch]
* app/file/file-save.[ch]
* app/file/file-utils.[ch]: port everything to using URIs, removed
file_open_absolute_filename() and added file_utils_filename_to_uri()
instead.
* app/core/gimpimage.[ch]: added gimp_image_[get|set]_uri() which
works like the old gimp_image_[get|set]_filename().
Changed gimp_image_[get|set]_filename() to call uri conversion
functions.
* app/app_procs.c: removed lots of code and use the new uri
functions to open images passed on the command line.
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c: changed accordingly.
* app/nav_window.c
* app/undo_history.c
* app/display/gimpdisplayshell.c
* app/gui/info-window.c
* app/gui/palette-import-dialog.c
* app/tools/gimpbycolorselecttool.c
* app/widgets/gimpcontainerview-utils.c:
s/gimp_image_get_filename()/gimp_image_get_uri()/g. Need to add
a utility function which returns the basename in unescaped UTF-8.
* app/gui/file-commands.c
* app/widgets/gimpdocumentview.c: use "uri", not "filename" as
variable name where appropriate.
* app/gui/menus.c: some broken code for the "Open Recent" items,
will be fixed soon...
* app/widgets/gimpdnd.c: evil (!!!) hackery to convert dropped
filenames to uris.
* tools/pdbgen/pdb/fileops.pdb: changed accordingly. Clarified
the meaning of the "raw_filename" parameter.
* tools/pdbgen/pdb/message.pdb: use g_message("%s", message),
*not* g_message(message).
* app/pdb/fileops_cmds.c
* app/pdb/message_cmds.c
* libgimp/gimpfileops_pdb.c: regenerated.
2002-03-13 Sven Neumann <sven@gimp.org>
* app/core/core-enums.h: register GimpChannelType and
GimpSelectionControl enums with the type system.
* app/core/gimpimage.c: use them in signal declarations.
* app/widgets/Makefile.am
* app/widgets/widgets-enums.h
* app/widgets/widgets-types.h: split enums into it's own file and
generate widgets-enums.c. Register GimpZoomType enum.
* app/widgets/gimpnavigationpreview.c: use GIMP_TYPE_ZOOM_TYPE.
2002-03-03 Michael Natterer <mitch@gimp.org>
Use gdouble in a [0.0..1.0] range for opacity values in the whole
core's API. Convert them using (opacity * 255.999) when passing
them to base/ and paint-funcs/
Affected functions:
* app/core/gimpchannel.[ch]: gimp_channel_[set|get]_opacity()
* app/core/gimpimage.[ch]: gimp_image_[apply|replace]_image()
* app/paint/gimppaintcore.[ch]: gimp_paint_core_[paste|replace]_canvas()
* app/core/core-types.h: added defines GIMP_OPACITY_TRANSPARENT
and GIMP_OPACITY_OPAQUE, just like the ones from
paint-funcs/paint-funcs-types.h
* app/gimprc.c
* app/image_map.c
* app/core/gimpcontext.c
* app/core/gimpdrawable-blend.c
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpdrawable.c
* app/core/gimpedit.c
* app/core/gimplayer.c
* app/core/gimplayer-floating-sel.c
* app/core/gimppalette.c
* app/paint/gimpairbrush.c
* app/paint/gimpclone.c
* app/paint/gimpconvolve.c
* app/paint/gimpdodgeburn.c
* app/paint/gimperaser.c
* app/paint/gimppaintbrush.c
* app/paint/gimpsmudge.c
* app/tools/gimpinktool.c
* app/widgets/gimpcolorpanel.c
* app/widgets/gimplayerlistitem.c
* app/widgets/gimppreview.c
* app/xcf/xcf-load.c: changed accordingly, use the new constants.
2002-02-26 Michael Natterer <mitch@gimp.org>
* app/undo.[ch]: renamed undo_push_layer_rename() to
undo_push_item_rename(), so channel/vectors renaming is undoable.
Use "gsize" for all undo size variables. Cleanup.
* app/undo_types.h: s/LAYER_RENAME_UNDO/ITEM_RENAME_UNDO/.
* app/core/core-types.h: added LAYER_PROPERTIES_UNDO_GROUP.
* app/core/gimpimage.c: s/Vectors/Path/ in all user-visible strings.
* app/core/gimpitem.[ch]: cleanup.
* app/gui/menus.c: s/"New Path"/"New Path..."/, pass
"vectors_menu_update" to gimp_item_factory_new().
* app/gui/layers-commands.c: renaming the floating layer
transforms it into an ordinary layer. Push an undo group around
around both the "fs_to_layer" and the renaming.
* app/gui/channels-commands.c
* app/gui/vectors-commands.c: made renaming undoable, cleanup.
* app/widgets/gimpitemlistview.c: added an EEKY hack so "Delete"
is not broken any more for floating selections. Need a better
solution...
2002-02-24 Michael Natterer <mitch@gimp.org>
* app/undo.[ch]
* app/undo_types.h: added undo stuff for GimpVectors.
* app/core/gimimage.c: use the new undo functions. Still unused
and untested.
2002-02-23 Michael Natterer <mitch@gimp.org>
General undo cleanup:
* app/undo.[ch]: made all undo structs private. Changed all
undo_push_foo() functions to take useful parameters instead of
"gpointer foo_ptr" and create the undo structs internally.
Renamed lots of functions so they are more self-explanatory
(like undo_push_gimage_mod -> undo_push_image_size). Added some
undo functions (channel reordering is undoable now). Never pass
in a UndoType, as they are reseved for groups now (see below).
Lots of cleanup and stuff...
* app/undo_types.h: is a private header now which defines "enum
UndoImplType" which is reserved for actual undo operations.
All enum values are named "FOO_UNDO".
* app/core/core-types.h: added the "UndoType" enum here and don't
include "undo_types.h" any more. The UndoType values are all
named "FOO_UNDO_GROUP" and are reserved for undo groups.
The ID space of actual undo operations and undo groups
is now strictly disjunct.
* app/core/gimpchannel.h
* app/core/gimpimage.h
* app/core/gimplayer.h
* app/core/gimplayermask.h
* app/paint/gimppaintcore.h
* app/tools/gimptransformtool.h: removed undo stuct definitions.
* app/undo_history.c
* app/path_transform.h
* app/core/gimpchannel.c
* app/core/gimpdrawable-transform.c
* app/core/gimpedit.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-crop.c
* app/core/gimpimage-mask.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-qmask.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-scale.c
* app/core/gimpimage.c
* app/core/gimplayer-floating-sel.c
* app/core/gimplayer.c
* app/display/gimpdisplayshell-dnd.c
* app/gui/channels-commands.c
* app/gui/image-commands.c
* app/gui/layers-commands.c
* app/gui/paths-dialog.c
* app/paint/gimppaintcore.c
* app/tools/gimpbezierselecttool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimptexttool.c
* app/tools/gimptransformtool.c
* tools/pdbgen/pdb/guides.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/undo.pdb: changed accordingly.
* app/pdb/guides_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/undo_cmds.c: regenerated.
* app/core/gimpimage.[ch]: added infrastructure for holding a
GimpList of GimpVectors objects. The API is the same as for layers
and channels. Not used yet.
2002-01-31 Michael Natterer <mitch@gimp.org>
* app/core/gimplayer.[ch]: removed gimp_layer_has_alpha(), use
gimp_drawable_has_alpha() instead.
* app/core/gimpimage-convert.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-projection.c
* app/display/gimpdisplayshell.c
* app/gui/layers-commands.c: changed accordingly.
* app/core/gimpimage.[ch]: added gimp_image_has_alphe(), made some
variable names more verbose and use enum types instead of "gint"
in functions calling initial_region() and combine_regions().
* app/widgets/gimpchannellistview.c: show an alpha channel preview
only if the image has alpha.
* app/widgets/gimppreview.c: reordered functions,
gimp_preview_render_and_flush(): fixed channel preview rendering,
calculate the component byte offsets before entering the render
loop instead of duplicating the render code for the gray/alpha
case.
2001-12-14 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.[ch]: added
GIMP_IMAGE_TYPE_IS_[RGB|GRAY|INDEXED]() and
GIMP_IMAGE_TYPE_BASE_TYPE() macros.
* app/plug-in/plug-in.[ch]: new enum PlugInImageType instead of
multiple #defines.
* app/gui/file-dialog-utils.[ch]: file_dialog_update_menus(): take
a GimpImageType instead of the PlugInImageType.
* app/core/gimpdrawable-preview.c
* app/core/gimpdrawable-transform.c
* app/core/gimpdrawable.c
* app/core/gimpimage-contiguous-region.c
* app/core/gimpimage-mask.c
* app/core/gimpimage-merge.c
* app/core/gimplayermask.c
* app/core/gimppalette-import.c
* app/display/gimpdisplay-handlers.c
* app/display/gimpdisplayshell-render.c
* app/gui/file-save-dialog.c
* app/gui/toolbox.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolorpickertool.c
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/image.pdb: use the new macros, cleanups like
storing GimpImageType in GimpImageType variables, not just gint.
* app/pdb/convert_cmds.c
* app/pdb/image_cmds.c: regenerated.
* app/widgets/gimpdialogfactory.c: save the state of the "Auto"
button in sessionrc.
2001-12-13 Michael Natterer <mitch@gimp.org>
* app/core/gimp.[ch]: made gimp->global_buffer a GimpBuffer,
not TileManager.
* app/core/gimpbuffer.[ch]: added a "gboolean copy_pixels" to
gimp_buffer_new().
* app/core/gimpimage-new.c
* app/core/gimpedit.[ch]
* app/core/gimpimage-qmask.c
* app/widgets/gimpbufferpreview.c
* app/widgets/gimpbufferview.c
* app/widgets/gimpcontainerview-utils.c: chaned accordingly, don't
include "base/tile-manager.h".
* app/core/gimpdrawable.[ch]: added gimp_drawable_copy().
* app/core/gimpchannel.[ch]
* app/core/gimplayer.[ch]
* app/core/gimplayermask.[ch]: use it in
gimp_[channel|layer|layer_mask]_copy(), added "GType new_type" as
paramater to all of them.
* app/core/gimpimage-duplicate.c
* app/gui/channels-commands.c
* app/gui/edit-commands.c
* app/gui/layers-commands.c
* app/widgets/gimpchannellistview.c
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/selection.pdb: changed accordingly.
* app/pdb/channel_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/selection_cmds.c: regenerated.
* app/core/gimplayer.[ch]: removed the "layer_type" parameter from
gimp_layer_new_from_tiles() because it always needed to be equal
to gimp_image_base_type_with_alpha() of the passed image.
* app/core/gimpdrawable-transform.c
* app/core/gimpedit.c
* app/core/gimpimage-mask.c: cahanged accordingly.
* app/core/gimpimage.[ch]: added some new GIMP_IMAGE_TYPE_FOO()
marcos to get rid of magic values like "pixels = 3" all over the
place.
* app/core/gimplayer.[ch]: added gimp_layer_new_from_drawable()
which creates a layer from an other image's drawable.
* app/core/gimpimage-convert.[ch]: made the RGB and GRAY converters
public to use them above, use the new GIMP_IMAGE_TYPE() macros.
* app/display/gimpdisplayshell-dnd.c
* app/gui/toolbox.c: removed tile manager stuff and use the new
functions.
* app/widgets/gimpdrawablelistview.[ch]: added a
"convert_drawable_func" which is used to handle drops from other
images.
* app/widgets/gimpdrawablelistitem.c
* app/widgets/gimplayerlistitem.c
* app/widgets/gimplistitem.[ch]: implemented DND of layers between
images using gimp_layer_new_from_drawable().
* app/gui/dialogs-constructors.c: changed accordingly.
2001-12-08 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/core-enums.h: new file that holds enums that are registered
with the type system and is used to generate core-enums.c.
* app/core/core-types.h: include core-enums.h
* app/base/base-types.h: namespace cleanup. Prefix all enumeration
types with Gimp and their values with GIMP. Moved GimpLayerModeEffects
enum ...
* app/base/base-enums.h: ... here.
* app/image_map.c
* app/base/temp-buf.c
* app/core/gimpcontext.[ch]
* app/core/gimpdrawable-transform.c
* app/core/gimpdrawable.c
* app/core/gimpedit.c
* app/core/gimpimage-mask.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-new.c
* app/core/gimpimage-projection.c
* app/core/gimpimage.[ch]
* app/core/gimplayer.[ch]
* app/display/gimpdisplayshell-dnd.c
* app/display/gimpdisplayshell-render.c
* app/gui/brush-select.c
* app/gui/layers-commands.c
* app/gui/preferences-dialog.c
* app/gui/toolbox.c
* app/paint-funcs/paint-funcs.[ch]
* app/tools/gimpconvolvetool.c
* app/tools/gimperasertool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimppainttool.[ch]
* app/tools/gimptexttool.c
* app/tools/paint_options.c
* app/widgets/gimplayerlistview.c
* app/widgets/gimpwidgets-constructors.[ch]
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/color.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/tools.pdb: changed accordingly.
* libgimpbase/gimpbasetypes.h: no need to chop GIMP prefix off the
enums any longer.
* app/pdb/brush_select_cmds.c
* app/pdb/brushes_cmds.c
* app/pdb/color_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/message_cmds.c
* app/pdb/procedural_db_cmds.c
* app/pdb/tools_cmds.c
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
* app/gimprc.c: removed code to parse for "plug_in" keyword which was
left over from some very early gimp days.
* app/plug-in/plug-in.[ch]: removed now unused function plug_in_add().
2001-11-30 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimpimage-qmask.[ch]: new files: the QMask stuff
stripped from GUI code. Added gimp_image_qmask_invert().
* app/core/gimpimage.[ch]: removed the QMask functions.
* app/display/Makefile.am
* app/display/gimpdisplayshell-qmask.[ch]: removed.
* app/gui/Makefile.am
* app/gui/qmask-commands.[ch]: new files for the new QMask item
factory callbacks and the qmask query dialog.
* app/gui/menus.c: added a context menu for the QMask button.
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-handlers.c: don't include the qmask
stuff.
* app/display/gimpdisplayshell-callbacks.[ch]: Moved the 2 qmask
callbacks here. Don't popup the dialog on double_click. Show
the contect menu on right-click.
* app/display/gimpdisplayshell-callbacks.[ch]:
gimp_display_shell_canvas_events(): removed the hack of
conntecting "key_press_event" to gtk_true() while a tool is
active. Instead, check for (event & GDK_BUTTON1_MASK) in the
key_press and key_release handlers and stop signal emission. Save
the modifier state on "button_press" and restore it after
"button_release".
Changed the way context menus are updated/shown:
- removed GimpContainerContextFunc.
- pass around item factory identifiers (e.g. "<Brushes>")
- added voodoo to update the menus before showing them.
* app/widgets/gimpitemfactory.[ch]: gimp_item_factory_new(): take
a GimpItemFactoryUpdateFunc parameter, attach it as data to the
factory and use it to update the menu in
gimp_item_factory_popup_with_date().
* app/widgets/gimpwidgets-utils.[ch]: removed
gimp_item_factory_popup_with_data() here.
* app/widgets/gimpbrushfactoryview.[ch]
* app/widgets/gimpbufferview.[ch]
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpdocumentview.[ch]
* app/widgets/gimpdrawablelistview.[ch]: use item_factory
identifier strings all over the place.
* app/widgets/gimpdockbook.c: removed the menu update code, it's
now in gui/dialogs-commands.c.
* app/gui/brushes-commands.[ch]
* app/gui/buffers-commands.[c]
* app/gui/channels-commands.[ch]
* app/gui/dialogs-commands.[ch]
* app/gui/documents-commands.[ch]
* app/gui/gradient-editor-commands.[ch]
* app/gui/gradients-commands.[ch]
* app/gui/layers-commands.[ch]
* app/gui/palettes-commands.[ch]
* app/gui/patterns-commands.[ch]: removed all show_context_menu()
functions and made the update functions public. Changed all
update functions to use the gimp_item_factory_set_foo() methods
instead of gimp_menu_item_set_foo().
* app/gui/menus.c: pass the update functions to the
gimp_item_factory_new().
* app/gui/dialogs-constructors.c: pass item factory identifiers to
all view constructors.
* app/gui/gradient-editor.c: show the context menu using the new
method.
* app/gui/toolbox.c: no need to include "dialogs-commands.h".
2001-11-28 Michael Natterer <mitch@gimp.org>
* app/base/base-types.h: include the new
"paint-funcs/paint-funcs-types.h".
* app/paint-funcs/Makefile.am
* app/paint-funcs/paint-funcs-types.h: new file. Includes
"base/base-types.h".
* app/paint-funcs/paint-funcs.[ch]: removed the enums here,
include "paint-funcs-types.h".
* app/widgets/widgets-types.h: include "display/display-types.h"
* app/display/display-types.h: include "widgets/widgets-types.h".
* app/tools/tools-types.h: include "display/display-types.h"
* app/gui/gui-types.h: include "tools/tools-types.h".
The order of namespaces/dependencies should be (but is not):
(base, paint-funcs) -> (core, file, xcf, pdb) ->
(widgets, display) -> tools -> gui
* app/path.c: include "tools/tools-types.h".
* app/core/Makefile.am
* app/core/gimpimage-guides.[ch]
* app/core/gimpimage-merge.[ch]
* app/core/gimpimage-resize.[ch]
* app/core/gimpimage-scale.[ch]: new files.
* app/core/gimpimage.[ch]: removed the stuff which is in the new
files. Reordered all functions in both the .h and .c files,
commented the groups of functions.
* app/core/gimpcontainer.c: create the handler_id using a counter,
not the address of a pointer, because the address *may* be the
same twice, added debugging output.
* app/core/gimpviewable.[ch]: added primitive support for getting
a preview GdkPixbuf.
* app/nav_window.c
* app/undo.c
* app/undo_history.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-mask.[ch]
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-dnd.c
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-scroll.c
* app/gui/image-commands.c
* app/gui/info-window.c
* app/gui/layers-commands.c
* app/gui/palette-import-dialog.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/widgets/gimpcontainerview-utils.c
* app/xcf/xcf-load.c: changed accordingly, some cleanup.
* tools/pdbgen/pdb/guides.pdb
* tools/pdbgen/pdb/image.pdb: changed accordingly, reordered functions.
* app/plug_in.c: set the labels of the "Repeat" and "Re-Show" menu
items to the name of the last plug-in (Fixes#50986).
* app/display/gimpdisplayshell.[ch]: set the labels of "Undo" and
"Redo" to the resp. undo names. Much simplified the WM icon stuff
by removing most code and using gimp_viewable_get_new_preview_pixbuf().
* app/widgets/gimpbrushfactoryview.c: forgot to assign the GQuark
returned by gimp_container_add_handler().
* app/pdb/guides_cmds.c
* app/pdb/image_cmds.c
* libgimp/gimpimage_pdb.[ch]: regenerated.
2001-11-28 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimpimage-projection.[ch]: new files. Changed function
names to be consistent.
* app/core/gimpimage.[ch]: removed the projection stuff
here. Removed the gimp_image_composite_blah() functions becauee
they were just calling the resp. gimp_image_projection ones.
* app/core/gimpimage-contiguous-region.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-crop.c
* app/core/gimppalette-import.c
* app/undo.c
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell-render.c
* app/gui/info-window.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpiscissorstool.c: changed accordingly.
2001-11-27 Sven Neumann <sven@gimp.org>
* configure.in
* app/Makefile.am
* app/config/gimpconfig.[ch]
* app/config/gimpconfig-serialize.[ch]
* app/config/gimpconfig-deserialize.[ch]: added new base class
GimpConfig that knows how to serialize and deserialize it's properties
in sexp format. Contains two example properties that will go into
derived classes once this is really used.
* app/main.c: deserialize and serialize the test GimpConfig object to
~/.gimp-1.3/foorc (only for debugging).
* app/widgets/widgets-types.h
* app/core/core-types.h: moved GimpPreviewSize enum to core-types.
* app/core/core-types.h: don't include gdk-pixbuf.h.
* app/core/gimptoolinfo.h
* app/core/gimpimagefile.c: include gdk-pixbuf.h.
* app/core/gimpimage.[ch]: made construct_flag a gboolean.
* app/core/gimpdrawable-invert.c
* app/core/gimpunit.c
* tools/pdbgen/pdb/plug_in.pdb
* app/pdb/plug_in_cmds.c: removed unused variables.
* app/display/Makefile.am: removed .PHONY and files cruft
* app/Makefile.am
* libgimp/Makefile.am
* libgimpbase/Makefile.am
* libgimpcolor/Makefile.am
* libgimpmath/Makefile.am
* libgimpwidgets/Makefile.am
* plug-ins/Makefile.am: removed commented out makefile.mingw rules.
If we ever need them again, they can easily be resurrected from CVS.
2001-11-26 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.c: gimp_image_construct_layers/channels():
actually free the reverse_list after projecting the drawables.
(Spotted by Kelly Martin).
2001-11-23 Sven Neumann <sven@gimp.org>
* configure.in: bumped version number to 1.3.1.
Require Glib/GTK+-1.3.11 and Pango-0.22. Removed GDK_DISABLE_COMPAT_H
and GTK_DISABLE_COMPAT_H from our default CFLAGS since they don't
exist any longer.
* RELEASE-TO-CVS.patch: removed since the glib/gtk+ API is supposed to
be frozen now.
* HACKING: removed reference to RELEASE-TO-CVS.patch
* app/gui/menus.c
* app/tools/gimptexttool.c: applied RELEASE-TO-CVS.patch to conform
to the new GTK+/Pango API.
* app/core/Makefile.am: generate marshallers with gimp_marshal prefix.
* app/core/gimpmarshal.list: added all marshallers we use.
* app/core/gimpmarshal.[ch]: regenerated.
* app/[lots of .c files]: use gimp_marshal_* for all marshallers.
* data/images/
* app/app_procs.c
* app/gui/splash.c:
* libgimpbase/Makefile.am
* libgimpbase/gimpbase.h
* libgimpbase/gimputils.[ch]: removed since they are no longer needed.
* app/gimprc.c
* plug-ins/common/ps.c
* plug-ins/gdyntext/gdyntext.c
* plug-ins/gdyntext/gdyntextcompat.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c
* plug-ins/script-fu/script-fu-scripts.c: use glib functions instead
of gimp_strescape() and gimpstrcompress().
* cleaned up all header files: use G_BEGIN_DECLS/G_END_DECLS, declared
all _get_type function as G_GNUC_CONST.
* tools/pdbgen/enumcode.pl
* tools/pdbgen/lib.pl: make them generate header files using
G_BEGIN_DECLS/G_END_DECLS.
* pixmaps/Makefile.am
* pixmaps/wilber3.xpm: removed ...
* data/images/tips_wilber.png: ... and added here as PNG
* app/gui/tips-dialog.c: load the Wilber on demand using GdkPixbuf.
* data/images/gimp_splash.ppm: removed ...
* data/images/gimp_splash.png: ... and added as PNG
* app/app_procs.c
* app/gui/splash.[ch]: load the splash image using GdkPixbuf.
* app/gui/about-dialog.c: sink the GtkPreview.
2001-11-16 Michael Natterer <mitch@gimp.org>
Wishlist item #57812:
* app/core/gimpimage.[ch]: added a progress_callback to
gimp_image_scale().
* app/gui/gui.c
* app/gui/image-commands.c
* app/gui/resize-dialog.h
* tools/pdbgen/pdb/image.pdb: changed accordingly.
* app/core/gimp.[ch]: found that gimp->busy needs to be a counter,
not a boolean, so nested calls work.
* app/pdb/image_cmds.c: regenerated.
2001-11-10 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/qmask.[ch]: removed.
* app/core/gimpimage.[ch]: added "qmask_changed" signal and
gimp_image_[set|get]_qmask_state().
* app/display/Makefile.am
* app/display/gimpdisplayshell-qmask.[ch]: put the stuff here.
* app/display/gimpdisplayshell-handlers.[ch]: new files: handlers
for GimpImage signals handled by GimpDisplayShell.
* app/display/gimpdisplay-handlers.c: removed some of them here.
Don't include any GimpDisplayShell stuff any more.
* app/display/gimpdisplay.c: no need to update the qmask buttons
in gimp_display_flush_whenever().
* app/display/gimpdisplayshell.c: call gimp_display_shell_connect()
and disconnect().