Commit Graph

1981 Commits

Author SHA1 Message Date
Sven Neumann 843490a152 formatting.
2005-01-30  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagemap.c: formatting.
2005-01-30 16:50:52 +00:00
Sven Neumann c4a8618db9 changed default grid distance to 32 as suggested in bug #165367.
2005-01-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpgrid.c: changed default grid distance to 32 as
	suggested in bug #165367.
2005-01-27 17:01:45 +00:00
William Skaggs 1cee9b7298 continuing commit after broken pipe 2005-01-25 19:11:26 +00:00
Sven Neumann 73c055bb52 app/config/Makefile.am app/config/gimpconfig-file.[ch] more new files,
2005-01-24  Sven Neumann  <sven@gimp.org>

	* app/config/Makefile.am
	* app/config/gimpconfig-file.[ch]
	* app/config/gimprc-utils.[ch]: more new files, code factored out
	of gimpconfig-utils.[ch].

	* app/config/gimpconfig-path.[ch]
	* app/config/gimpconfig-utils.[ch]
	* app/config/gimpcoreconfig.c
	* app/config/gimpguiconfig.c
	* app/config/gimppluginconfig.c
	* app/config/gimprc.c
	* app/core/gimp-units.c
	* app/dialogs/user-install-dialog.c
	* app/gui/session.c: changed accordingly.
2005-01-24 22:41:24 +00:00
Sven Neumann 0aa9015522 app/core/core-enums.h moved enums to libgimpbase (from app/core and
2005-01-23  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.h
	* libgimpbase/gimpbaseenums.h: moved enums to libgimpbase (from
	app/core and libgimp). The remaining enums in app/core/core-enums.h
	need special treatment.

	* app/core/core-enums.c:
	* libgimp/gimpenums.h
	* libgimpbase/gimpbaseenums.c
	* tools/pdbgen/enums.pl: regenerated.

	* libgimpbase/gimpbase.def
	* libgimp/gimp.def: updated.
2005-01-22 23:38:36 +00:00
William Skaggs c9926ee18e Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/config/gimpconfig-types.c
	* app/config/gimpconfig-types.h: removed...

	* libgimpbase/gimpbasetypes.c
	* libgimpbase/gimpbasetypes.h: and contents merged
	into here.

	* app/config/gimpconfig-params.c: removed...

	* libgimpbase/gimpbaseparams.c
	* libgimpcolor/gimprgb.c
	* libgimpmath/gimpmatrix.c: and contents merged
	into here.

	* app/config/gimpconfig-params.h: part removed...

	* libgimpbase/gimpbaseparams.h
	* libgimpcolor/gimprgb.h
	* libgimpmath/gimpmatrix.h: and merged into here

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpcolor/gimpbilinear.c
	* libgimpcolor/gimpcmyk.c
	* libgimpmath/gimpvector.c
	* app/config/Makefile.am
	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-dump.c
	* app/config/gimpconfig-serialize.c
	* app/config/gimpcoreconfig.c
	* app/config/gimpguiconfig.c
	* app/config/gimppluginconfig.c
	* app/core/gimp-utils.c
	* app/core/gimpcontext.c
	* app/tools/tools-utils.c
	* app/widgets/gimpaction.c
	* plug-ins/gimpressionist/utils.c: dependencies changed
	accordingly.

	First step in config migration out of core.  Need to fix
	devel-docs to reflect these changes.
2005-01-22 00:42:40 +00:00
Sven Neumann f6801672a8 applied a patch from Geert Jordaens that seems to fix drawable
2005-01-21  Sven Neumann  <sven@gimp.org>

        * app/core/gimpdrawable-transform.c: applied a patch from Geert
        Jordaens that seems to fix drawable transformation using the new
        Lanczos interpolation routine :)
2005-01-21 13:41:07 +00:00
Sven Neumann 2d3db58303 applied a patch from Geert Jordaens that fixes the crash in the drawable
2005-01-19  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-transform.c: applied a patch from Geert
	Jordaens that fixes the crash in the drawable transformations
	using the Lanczos interpolation type. The result is somewhat wrong
	though :(
2005-01-19 10:22:19 +00:00
Michael Natterer 7e5290a019 use gimp_config_writer_data() to write the parasite data because it's
2005-01-18  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpparasitelist.c (parasite_serialize): use
	gimp_config_writer_data() to write the parasite data because
	it's binary and can contain '\0'.

	(gimp_parasite_list_deserialize): use gimp_scanner_parse_data() to
	read it. Still accepts the old file format for backward
	compatibility. Fixes bug #163131.
2005-01-18 20:47:10 +00:00
Michael Natterer db89496a11 implement GimpItem::convert(). Handles any drawable, including conversion
2005-01-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.c: implement GimpItem::convert(). Handles
	any drawable, including conversion to GRAY, flattening and
	resizing.

	* app/widgets/gimpchanneltreeview.c: implement dropping of all
	kinds of drawables as new channels. Fixes bug #158133.

	Simplified component dropping by removing stuff which is done by
	gimp_item_convert() now.
2005-01-15 21:15:43 +00:00
Sven Neumann f7234cc616 app/core/gimpdrawable-transform.c minor cleanups to the new Lanczos
2005-01-15  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-transform.c
	* app/paint-funcs/scale-funcs.c: minor cleanups to the new Lanczos
	interpolation routines. Drawable transformations do still crash :(
2005-01-15 20:46:21 +00:00
Michael Natterer e5c0d8eb0e app/core/gimpitem.c app/core/gimpdrawable.c made GimpItem::scale() and
2005-01-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.c
	* app/core/gimpdrawable.c
	* app/vectors/gimpvectors.c: made GimpItem::scale() and ::resize()
	work on unattached items.

	* app/widgets/gimplayertreeview.c
	(gimp_layer_tree_view_drop_component): fix drop index.

	* app/widgets/gimpchanneltreeview.c: implement dropping of
	components as new channels. Fixes bug #158483.
2005-01-15 19:17:11 +00:00
Michael Natterer d0a78f3bdb don't require a non-NULL color parameter (just leave the default color
2005-01-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.c (gimp_channel_new*): don't require a
	non-NULL color parameter (just leave the default color untouched
	if NULL is passed).

	* app/actions/channels-commands.c
	* app/core/gimpchannel-select.c: pass NULL as color for temporary
	channels or channels where we used to pass black.
2005-01-15 16:59:34 +00:00
Michael Natterer d4177c88ce added GIMP_UNDO_INK.
2005-01-14  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.[ch] (enum GimpUndoType): added GIMP_UNDO_INK.

	* app/paint/gimppaintcore.[ch]: added virtual function
	GimpPaintCore::push_undo() and call it.

	* app/paint/gimppaintcore-undo.[ch]: made it the default
	implementation.

	* app/paint/gimpink-blob.[ch]: added blob_duplicate().

	* app/paint/gimpink.[ch]: added a "start_blob" (just like
	GimpPaintCore::start_coords) which gets set whenever we start a
	new stroke or line. Removed ink->lastx and ink->lasty because
	they are the same as paint_core->last_coords.

	* app/paint/Makefile.am
	* app/paint/gimpink-undo.[ch]: new files implementing an
	undo step for ink which restores the last blob used along
	with the whole ink state. Fixes bug #163670.
2005-01-14 20:13:54 +00:00
Michael Natterer 4e942377e6 Splitting GimpItem::convert() into two virtual functions was apparently
2005-01-13  Michael Natterer  <mitch@gimp.org>

	Splitting GimpItem::convert() into two virtual functions was
	apparently buggy over-engineering. Reverted that stuff and
	implement item conversion much simpler:

	* app/core/gimpitem.[ch]: have a single virtual function,
	GimpItem::convert(), which takes a newly duplicated item and the
	destination image.

	(gimp_item_convert): simply call GimpItem::convert() on the result
	of gimp_item_duplicate().

	(gimp_item_real_convert): set the item's new image.

	* app/core/gimplayer.c (gimp_layer_convert)
	* app/vectors/gimpvectors.c (gimp_vectors_convert): changed
	accordingly and chain up after, not before doing our own stuff
	so the old image is still available as item->image for stuff
	like colormap conversion. Fixes bug #163879.
2005-01-13 18:17:24 +00:00
Sven Neumann 857279479e app/units.c app/core/gimp-units.c app/core/gimp.c added a utility function
2005-01-13  Sven Neumann  <sven@gimp.org>

	* app/units.c
	* app/core/gimp-units.c
	* app/core/gimp.c
	* app/core/gimpunit.[ch]: added a utility function that frees the
	memory allocated for user units. Minor cleanups.
2005-01-13 13:08:00 +00:00
Sven Neumann f3166ba9f9 app/base/base-enums.[ch] app/core/gimpdrawable-transform.c
2005-01-11  Sven Neumann  <neumann@jpk.com>

	* app/base/base-enums.[ch]
	* app/core/gimpdrawable-transform.c
	* app/core/gimpdrawable.c
	* app/paint-funcs/Makefile.am
	* app/paint-funcs/paint-funcs.[ch]
	* app/paint-funcs/scale-funcs.[ch]: applied patch by Geert Jordaens
	(after a good deal of reformatting for coding style compliance).
	This factors the scale routines into their own file and adds a
	sinc-based (Lanczos) interpolation routine (bug #162250).
2005-01-11 18:31:07 +00:00
Michael Natterer 2cd34bf12d moved variables to local scopes, assign the snapped coords unconditionally
2005-01-07  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-snap.c: moved variables to local scopes,
	assign the snapped coords unconditionally (also if we don't snap),
	cleanup.

	(gimp_image_snap_rectangle): entirely rewritten to use local
	mindist_x, mindist_y variables instead of fiddling with lots of
	boolean variables. Implemented vectors snapping as if the required
	GimpStroke functions existed (#defined them). Simon, your turn :)
2005-01-07 19:50:01 +00:00
Michael Natterer 150bea1e80 Implemented "Snap to Canvas Edges" (fixes bug #152971) and "Snap to Active
2005-01-03  Michael Natterer  <mitch@gimp.org>

	Implemented "Snap to Canvas Edges" (fixes bug #152971) and
	"Snap to Active Path" (half way done):

	* app/core/gimpimage-snap.[ch]: added boolean snap_to_canvas and
	snap_to_vectors parameters (snap_to_vectors works fine when
	snapping to a point, but is unimplemented for snapping to a
	rectangle).

	* app/display/gimpdisplayshell.[ch] (struct GimpDisplayShell):
	added snap_to_canvas and snap_to_vectors booleans.

	* app/display/gimpdisplayshell-appearance.[ch]: added API to
	get/set them.

	* app/actions/view-actions.c
	* app/actions/view-commands.[ch]
	* app/widgets/gimphelp-ids.h: added actions, callbacks and help IDs.

	* menus/image-menu.xml.in: added them to Image->View.
2005-01-03 16:19:10 +00:00
Michael Natterer e5feab6519 removed the just added gimp_palette_insert_entry() and added a "gint
2004-12-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimppalette.[ch]: removed the just added
	gimp_palette_insert_entry() and added a "gint position" parameter
	to gimp_palette_add_entry() instead (no need to have two almost
	identical functions).

	* app/actions/palette-editor-commands.c
	* app/core/gimppalette-import.c
	* app/widgets/gimppaletteeditor.c
	* tools/pdbgen/pdb/palette.pdb: changed accordingly.

	* app/pdb/palette_cmds.c: regenerated.
2004-12-31 17:27:57 +00:00
Michael Natterer e0f25134ca Applied modified patch from Ben Campbell which adds drop coordinates to
2004-12-31  Michael Natterer  <mitch@gimp.org>

	Applied modified patch from Ben Campbell which adds drop
	coordinates to the color drop callback and uses it to insert
	colors in the palette editor. Extended the patch to add drop
	coordinates to all drop callbacks.

	* app/core/gimppalette.[ch]: added gimp_palette_insert_entry().

	* app/display/gimpdisplayshell-dnd.[ch]: added drop coordinates
	to all drop callbacks.

	* app/dialogs/palette-import-dialog.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpdnd.[ch]
	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimpfgbgeditor.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimppropwidgets.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimptoolbox-image-area.c
	* app/widgets/gimptoolbox-indicator-area.c
	* app/widgets/gimptooloptionseditor.c
	* libgimpwidgets/gimpcolorselect.c: changed accordingly. The passed
	drop coordiantes are so far unused.

	* app/widgets/gimppaletteeditor.c: use the drop coordinates to
	insert the new color into the palette at the right place instead
	of always appending. Fixes bug #150030.
2004-12-31 14:36:30 +00:00
Michael Natterer a46c649956 new utility function instead of code duplication.
2004-12-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-edit.c (gimp_edit_set_buffer): new utility
	function instead of code duplication.
2004-12-28 22:42:04 +00:00
William Skaggs 15fb7b6f18 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpbrush.c: don't ask for preview with
	zero width or height, fixes bug #162232.

	* app/base/brush-scale.c: remove tabs and trailing
	whitespace.
2004-12-26 18:18:17 +00:00
William Skaggs 59e86d02fb Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/actions/documents-commands.c
	* app/actions/file-commands.c
	* app/dialogs/file-open-dialog.c
	* app/dialogs/file-open-location-dialog.c
	* app/display/gimpdisplayshell-dnd.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c: replace % with space
	in file name before showing error message,
	fixes bug #162147.

	* app/core/gimp-gui.c
	* app/widgets/gimpmessagebox.c: be a bit more paranoid
	about validating utf8 for messages.
2004-12-24 19:11:30 +00:00
Michael Natterer 0527989edf Item conversion depends on the old *and* the new item type, so it can't
2004-12-23  Michael Natterer  <mitch@gimp.org>

	Item conversion depends on the old *and* the new item type, so
	it can't live in the old item's vtable only:

	* app/core/gimpitem.[ch]: split GimpItem::convert() into
	GimpItem::convert_from() (which is called on the old item and
	creates the new item) and GimpItem::convert_to() (which is called
	on the new item). This way functions from the old *and* new items'
	vtables are called and it's possible to convert between item types
	which live on different branches of the class hierarchy or to item
	types which live further down the class tree than the old item.

	(gimp_item_convert): call ::convert_to() on the new item created
	by ::convert_from().

	* app/vectors/gimpvectors.c: changed ::convert() implementation
	to ::convert_from().

	* app/core/gimplayer.c: changed ::convert() to ::convert_to().
	Fixes bug #161877.
2004-12-23 11:53:14 +00:00
William Skaggs 372be1f83a Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpgradient-load.c: reject .ggr files whose
	segments don't properly span the range 0-1.
	Fixes bug #161430.
2004-12-16 22:59:27 +00:00
Michael Natterer 37226e50d6 added utility function gimp_drawable_preview_bytes() and use it. Some
2004-12-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-preview.[ch]: added utility function
	gimp_drawable_preview_bytes() and use it. Some cleanup,
	untabified.

	* app/widgets/gimpviewrendererdrawable.c: use
	gimp_drawable_preview_bytes() instead of duplicating its code.
2004-12-15 14:40:52 +00:00
Michael Natterer 1a752a6d54 Sven Neumann <sven@gimp.org>
2004-12-15  Michael Natterer  <mitch@gimp.org>
	    Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-preview.c (gimp_drawable_preview_scale):
	fixed RGBA resampling by using premultiplied values for the
	intermediate accumulation buffer. Fixes bugs #72880 and #72881.
2004-12-15 01:36:22 +00:00
Sven Neumann 677fc5cc7e applied patch from Adam D. Moss with more fixed dither improvements (bug
2004-12-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-convert.c: applied patch from Adam D. Moss with
	more fixed dither improvements (bug #161123).
2004-12-13 00:30:15 +00:00
Michael Natterer 2e263a8cc0 added precondition check for the coords of the src area. Some cleanup and
2004-12-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-preview.c (gimp_drawable_get_sub_preview):
	added precondition check for the coords of the src area. Some
	cleanup and simplification.

	* app/widgets/gimpviewrendererdrawable.c
	(gimp_view_renderer_drawable_render): don't request sub-previews
	of areas outside the drawable and don't reuqest previews of zero
	width or height. Fixes crashes with the new preview code.
2004-12-12 22:52:00 +00:00
Sven Neumann a6e1e72fe4 Applied patch from Adam D. Moss (bug #161113):
2004-12-12  Sven Neumann  <sven@gimp.org>

	Applied patch from Adam D. Moss (bug #161113):

	* app/core/gimpimage-convert.c: Use a slower but much nicer
	technique for finding the two best colours to dither between when
	using fixed/positional dither methods.  Makes positional dither
	much less lame.
2004-12-12 22:09:22 +00:00
Michael Natterer 53c3ff1821 added new function copy_region_nocow() as a workaround for the fact that
2004-12-12  Michael Natterer  <mitch@gimp.org>

	* app/paint-funcs/paint-funcs.[ch]: added new function
	copy_region_nocow() as a workaround for the fact that sharing
	tiles with the projection is heavily broken.

	* app/base/tile-manager.c (tile_invalidate): added a warning when
	entering the code path that breaks badly.

	* app/core/gimp-edit.[ch]: added gimp_edit_copy_visible(), using
	the non-COW copying function above.

	* app/widgets/gimphelp-ids.h: added GIMP_HELP_COPY_VISIBLE.

	* app/actions/edit-actions.c
	* app/actions/edit-commands.[ch]: added action & callback for
	"edit-copy-visible".

	* menus/image-menu.xml.in: added "edit-copy-visible" to the image
	menu.

	* tools/pdbgen/pdb/edit.pdb: added gimp_edit_copy_visible()
	PDB wrapper.

	* app/pdb/edit_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpedit_pdb.[ch]: regenerated.

	* plug-ins/script-fu/scripts/copy-visible.scm: removed all code
	and made it a backward compat wrapper around gimp-edit-copy-visible.
	Fixes bug #138662.
2004-12-12 14:01:08 +00:00
Michael Natterer 4bdedaf105 implement it using gimp_drawable_get_sub_preview(). Removes massive code
2004-12-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-preview.c (gimp_drawable_preview_private):
	implement it using gimp_drawable_get_sub_preview(). Removes
	massive code duplication introduced by yesterday's fix.
2004-12-11 21:03:52 +00:00
Michael Natterer 4714802aff added new function gimp_drawable_get_sub_preview() which returns a scaled
2004-12-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-preview.[ch]: added new function
	gimp_drawable_get_sub_preview() which returns a scaled preview of
	a part of a drawable.

	(gimp_drawable_preview_scale): made it work with srcPR.x and
	srcPR.y being != 0.

	* app/core/gimpimage-preview.c (gimp_image_get_new_preview)
	* app/widgets/gimpviewrendererdrawable.c
	(gimp_view_renderer_drawable_render): if the area of the drawable
	preview is more than 4 times larger than the drawable itself (evil
	heuristic, but seems to work fine), use above function to get a
	sub-preview of the drawable instead of getting an insanely large
	preview of the whole drawable just to use a small part of it.
	Fixes bug #142074.

	* app/core/gimpimage-preview.c (gimp_image_get_new_preview):
	optimized by skipping layers which do not intersect with the
	canvas.
2004-12-11 01:22:58 +00:00
William Skaggs 791dc60f8f Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/widgets/gimphistogrameditor.c: make histogram editor,
	and therefore histogram dialog, use the selection.  Should
	resolve bug #72959.

	* app/core/gimpdrawable-histogram.h: remove trailing
	whitespace.
2004-12-10 23:07:21 +00:00
William Skaggs 60655d8e7a Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpbrushpipe.c (gimp_brush_pipe_select_brush):
	Don't initialize a new random number generator every time a brush
	is selected from a pipe.  Fixes bug #148205).
2004-12-09 21:34:48 +00:00
Sven Neumann 6f73b3e58c applied patch from Joao S. O. Bueno that fixes bug #160339.
2004-12-05  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-transform-utils.c (gimp_transform_matrix_flip_free):
	applied patch from Joao S. O. Bueno that fixes bug #160339.
2004-12-05 19:59:01 +00:00
Michael Natterer a708b85b8b when removing the floating selection, call
2004-12-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-undo-push.c (undo_pop_layer): when removing
	the floating selection, call gimp_drawable_invalidate_boundary()
	*before* setting gimage->floating_sel to NULL because otherwise
	gimp_display_shell_selection_invis() won't clear the correct
	selection bounds and leave garbage on screen. Fixes bug #160247.
2004-12-03 13:39:50 +00:00
Sven Neumann 3e56a07190 don't add documents w/o a name to the list. Fixes bug #159510.
2004-11-26  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdocumentlist.c (gimp_document_list_deserialize):
	don't add documents w/o a name to the list. Fixes bug #159510.

	* app/core/gimpdrawable.c (gimp_drawable_resize): extended the
	check to take the offsets into account as well.
2004-11-26 14:45:10 +00:00
Sven Neumann 7eed9323db app/core/gimp-templates.[ch] merge the migrated user templaterc with the
2004-11-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-templates.[ch]
	* app/dialogs/user-install-dialog.c: merge the migrated user
	templaterc with the system templaterc so the users who have used
	gimp-2.0 before get our changes to the default templates.
2004-11-23 21:00:15 +00:00
Michael Natterer bd57700685 cosmetics, untabified.
2004-11-23  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpparasitelist.c: cosmetics, untabified.

	* libgimpbase/gimpparasiteio.[ch]: added g_return_if_fail()'s
	to all functions.

	(gimp_pixpipe_params_parse): changed "gchar*" param to "const
	gchar*" (sortof API change, but these files are most probably only
	used by GIMP itself). Still uses strtok() on the internal copy,
	but at least not on the passed string.

	* plug-ins/common/csource.c
	* plug-ins/common/gif.c
	* plug-ins/common/gih.c
	* plug-ins/common/jpeg.c
	* plug-ins/common/png.c
	* plug-ins/common/tiff.c: use parasite getters instead of
	accessing the scruct members directly. Always use g_strndup()
	instead of just g_strdup() to get strings stored in parasites
	because there is no guarantee that they are nul-terminated.
2004-11-23 14:28:43 +00:00
Sven Neumann f653295e5d do nothing if the size doesn't change. This keeps text layers from being
2004-11-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable.c (gimp_drawable_resize): do nothing if
	the size doesn't change. This keeps text layers from being
	modified when an image is cropped and the layer is entirely inside
	the cropped area.

	* menus/image-menu.xml.in: put the Quit item back for now. We
	should think about this again in the next development cycle.
2004-11-23 09:32:54 +00:00
Hans Breuer 696663a611 [new file] app/dialogs/Makefile.am : added to EXTRA_DIST
2004-09-21  Hans Breuer  <hans@breuer.org>

	* app/dialogs/makefile.msc : [new file]
	  app/dialogs/Makefile.am : added to EXTRA_DIST

	* **/makefile.msc app/gimpcore.def : updated

	* app/gimp.rc : let wilber be first

	* app/widgets/gimppropwidgets.c : msvc6 can't cast uint64 either

	* libgimpbase/gimpwin32-io.h : make up recent loss of ftruncate in GLib

	* libgimpthumbnail/gimpthumbnail.c : <process.h> for getpid() on win32

	* plug-ins/helpbrowser/dialog.c : include gimpwin32-io.h

	* plug-ins/script-fu/siodwrapper.c plug-ins/script-fu/scrip-fu.c : there
	is no script-fu-server on win32
2004-11-21 14:22:45 +00:00
Michael Natterer ebf18dce39 tools/pdbgen/lib.pl added support for deprecated procedures without any
2004-11-19  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/lib.pl
	* tools/pdbgen/stddefs.pdb: added support for deprecated procedures
	without any replacement.

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): added
	a special warning for procedures without replacement.

	* tools/pdbgen/pdb/drawable.pdb: deprecated drawable_set_image()
	without any replacement and made it a nop (which fails if the
	passed image is different from the drawable's image). It's not
	needed any longer since 2.0 and moreover dangerous to use.

	* app/pdb/drawable_cmds.c
	* libgimp/gimpdrawable_pdb.[ch]: regenerated.

	* app/core/gimpitem.c (gimp_item_set_image): replaced assertion
	for gimp_item_is_floating() by !gimp_item_is_attached(). The
	former warned when adding a layer with already added mask to the
	image (which is a perfectly valid operation).
2004-11-19 12:38:34 +00:00
Michael Natterer d871be74bf Made plug-in menu registration work the same way for ordinary and
2004-11-17  Michael Natterer  <mitch@gimp.org>

	Made plug-in menu registration work the same way for ordinary and
	temporary procedures. Addresses bug #158117.

	* app/core/gimp-gui.[ch]: added "const gchar *menu_path" to
	gimp_menus_create_entry().

	* app/gui/gui-vtable.c (gui_menus_create_entry): if menu_path is
	NULL, behave as before and create an action and its menu entries
	for all the procedure's menu_paths. If it is non-NULL, skip action
	creation and create a menu entry just for that path.

	* app/plug-in/plug-ins.c (plug_ins_temp_proc_def_add): call
	gimp_menus_create_entry() with a NULL menu path and call it if
	proc_def->menu_paths *or* proc_def->menu_label is non-NULL, so
	it creates at least the procedure's action, even if it has
	no menu_path (yet).

	* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_register): check both
	the list of procs and temp_procs when trying to register the
	entry.  Allow ordinary procedures and extensions to install stuff
	at query() and init() time and allow temp_procs to install stuff
	at any time.

	* app/pdb/plug_in_cmds.c: regenerated.
2004-11-17 14:51:50 +00:00
Michael Natterer c0d9179492 removed redundant "gimage" parameter.
2004-11-16  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem-linked.[ch] (gimp_item_linked_get_list):
	removed redundant "gimage" parameter.

	* app/tools/gimpeditselectiontool.c: changed accordingly.
2004-11-16 13:52:04 +00:00
Michael Natterer 0d5df41904 app/core/gimpchannel-select.c app/core/gimpchannel.c
2004-11-16  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel-select.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-desaturate.c
	* app/core/gimpdrawable-equalize.c
	* app/core/gimpdrawable-histogram.c
	* app/core/gimpdrawable-invert.c
	* app/core/gimpdrawable-levels.c
	* app/core/gimpdrawable-offset.c
	* app/core/gimpdrawable-stroke.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpdrawable.c
	* app/core/gimpitem-linked.c
	* app/core/gimpitem.c
	* app/core/gimplayer.c
	* app/core/gimpselection.c
	* app/paint/gimppaintcore-stroke.c
	* app/text/gimptextlayer.c: in all functions which somehow
	(explicitely or implicitely) touch undo, either g_return_if_fail()
	on gimp_item_is_attached() or simply don't push an undo step if
	feasible (e.g. for simple stuff like layer opacity).

	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/paint_tools.pdb: let PDB wrappers fail
	accordingly so they don't run into the assertions added above.

	* app/pdb/color_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/paint_tools_cmds.c: regenerated.
2004-11-16 13:41:55 +00:00
Sven Neumann c10b2c10b1 applied a (slightly modified) patch from Nickolay V. Shmyrev that changes
2004-11-14  Sven Neumann  <sven@gimp.org>

	* app/core/gimppalette-import.c: applied a (slightly modified)
	patch from Nickolay V. Shmyrev that changes the palette import
	function to not only read palettes in the RIFF format but also
	GIMP and Photoshop ACT palette files (bug #158297).
2004-11-14 20:15:05 +00:00
Manish Singh 5d01581069 Fix a bunch of warnings from Sparse:
2004-11-13  Manish Singh  <yosh@gimp.org>

        Fix a bunch of warnings from Sparse:

        * app/actions/dockable-commands.c
        * app/actions/layers-actions.c
        * app/actions/view-commands.c
        * app/base/pixel-surround.c
        * app/config/gimpconfig-utils.c
        * app/config/gimpscanner.c
        * app/core/gimpbrushgenerated.c
        * app/core/gimpcontainer.c
        * app/core/gimpimage.c
        * app/dialogs/palette-import-dialog.c
        * app/file/gimprecentlist.c
        * app/plug-in/plug-in-params.c
        * app/text/gimptext-compat.c
        * app/text/gimptext-parasite.c
        * app/vectors/gimpbezierstroke.c
        * app/vectors/gimpstroke.c
        * app/widgets/gimpcellrendereraccel.c
        * app/widgets/gimpselectiondata.c
        * app/xcf/xcf.c
        * libgimp/gimp.c
        * libgimpthumb/gimpthumb-utils.c
        * libgimpthumb/gimpthumbnail.c
        * modules/cdisplay_proof.c
        * plug-ins/Lighting/lighting_ui.c
        * plug-ins/common/csource.c
        * plug-ins/common/glasstile.c
        * plug-ins/common/nova.c
        * plug-ins/common/pcx.c
        * plug-ins/common/pnm.c
        * plug-ins/common/randomize.c
        * plug-ins/common/screenshot.c
        * plug-ins/common/sel_gauss.c
        * plug-ins/common/spheredesigner.c
        * plug-ins/common/wind.c
        * plug-ins/gfig/gfig-dialog.c
        * plug-ins/gfig/gfig-dobject.c
        * plug-ins/gimpressionist/gimpressionist.c
        * plug-ins/ifscompose/ifscompose.c
        * plug-ins/print/gimp_main_window.c
        * plug-ins/print/print.c: Cleanup integer vs. pointer confusion.

        * app/base/temp-buf.c
        * app/dialogs/about-dialog.c
        * plug-ins/common/bumpmap.c
        * plug-ins/common/jigsaw.c
        * plug-ins/gfig/gfig-dobject.c: Cosmetic cleanups.

        * app/config/gimpconfig-deserialize.c
        * app/config/gimpconfig-path.c
        * app/config/gimpconfigwriter.c
        * app/core/gimpgradient.c
        * app/tools/gimpdrawtool.c
        * plug-ins/common/nlfilt.c
        * plug-ins/common/unsharp.c
        * plug-ins/common/zealouscrop.c: Define inline functions before they
        are used.

        * app/core/gimpdrawable-blend.c: PixelRegion definition was changed
        some time ago, but the initialization here didn't change. Fix it.

        * app/plug-in/plug-in-rc.c (plug_in_extra_deserialize): No need to
        assign token twice in a row.

        * libgimpbase/gimpdatafiles.c (gimp_datafiles_read_directories): No
        need to initialize file_data, since the code fills out all the fields.

        * plug-ins/common/CML_explorer.c
        * plug-ins/common/vpropagate.c: Declare function pointers fully.

        * plug-ins/common/grid.c (pix_composite): G_INLINE_FUNC isn't needed,
        we assume we can use the "inline" keyword always.

        * plug-ins/common/psd_save.c
        * plug-ins/common/vinvert.c
        * plug-ins/gfig/gfig-arc.c
        * plug-ins/gfig/gfig-bezier.c
        * plug-ins/gfig/gfig-circle.c
        * plug-ins/gfig/gfig-dialog.c
        * plug-ins/gfig/gfig-dobject.c
        * plug-ins/gfig/gfig-ellipse.c
        * plug-ins/gfig/gfig-line.c
        * plug-ins/gfig/gfig-poly.c
        * plug-ins/gfig/gfig-spiral.c
        * plug-ins/gfig/gfig-star.c
        * plug-ins/gfig/gfig.c
        * plug-ins/gimpressionist/orientmap.c
        * plug-ins/gimpressionist/placement.c
        * plug-ins/gimpressionist/sizemap.c
        * plug-ins/imagemap/imap_grid.c
        * plug-ins/imagemap/imap_main.c
        * plug-ins/imagemap/imap_preferences.c
        * plug-ins/imagemap/imap_settings.c
        * plug-ins/maze/maze.c
        * plug-ins/sel2path/curve.c
        * plug-ins/sel2path/fit.c
        * plug-ins/sel2path/pxl-outline.c
        * plug-ins/sel2path/spline.c
        * plug-ins/xjt/xjt.c: Functions with no args should be declared
        with (void).

        * plug-ins/common/retinex.c (MSRCR): Initialize max_preview to quiet
        the compiler.
2004-11-14 02:50:33 +00:00
Sven Neumann 5a3b3fff70 app/core/gimpimagefile.[ch] app/file/file-open.c pass the MIME type from
2004-11-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.[ch]
	* app/file/file-open.c
	* app/file/file-save.c: pass the MIME type from the save procedure
	to gimp_imagefile_save_thumbnail() so that it can be stored with
	the thumbnail.

	* tools/pdbgen/pdb/fileops.pdb
	* app/pdb/fileops_cmds.c: changed accordingly.
2004-11-13 17:13:21 +00:00
Sven Neumann b62ca985aa app/plug-in/plug-in-proc-def.[ch] app/plug-in/plug-in-rc.c allow to
2004-11-13  Sven Neumann  <sven@gimp.org>

	* app/plug-in/plug-in-proc-def.[ch]
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-ins.[ch]: allow to associate a procedure for
	thumbnail loading with any file load procedure.

	* tools/pdbgen/pdb/fileops.pdb: export this functionality to the
	PDB as gimp_register_thumbnail_loader().

	* app/pdb/fileops_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpfileops_pdb.[ch]: regenerated.

	* app/core/gimpimagefile.c
	* app/file/file-open.[ch]: when creating a thumbnail for an image
	file, use a thumbnail load procedure if available.

	* plug-ins/common/svg.c: added "file_svg_load_thumb", a procedure
	that allows to load a small preview of the SVG image.
2004-11-13 17:06:06 +00:00
Simon Budig 7945dc7a4b Return the active layer instead of the bottom layer when just merging down
2004-11-13  Simon Budig  <simon@gimp.org>

	* app/core/gimpimage-merge.c: Return the active layer instead of
	the bottom layer when just merging down a floating selection.
	Untabbified.

	Fixes bug #158130.
2004-11-13 01:59:16 +00:00
Michael Natterer b7e8659ac3 disallow non-attached items to be pushed to the undo stack.
2004-11-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-undo-push.c: disallow non-attached items
	to be pushed to the undo stack.
2004-11-12 10:56:23 +00:00
Michael Natterer f6e5ecb2e0 app/core/gimp-edit.c app/core/gimpdrawable-blend.c
2004-11-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-edit.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpitem.c (gimp_item_stroke): added precondition
	checks for gimp_item_is_attached() and removed checks for
	gimp_item_get_image() to actually return an image (because it
	always returns an image).

	* tools/pdbgen/pdb/edit.pdb: let all wrappers fail if the drawable
	is not attached.

	* app/pdb/edit_cmds.c: regenerated.
2004-11-11 14:05:34 +00:00
jaycox 5b5823ba4b Skip resources with unknown signatures instead of quiting. Fixes bug
* plug-ins/common/psd.c: Skip resources with unknown signatures
	instead of quiting.  Fixes bug #142468, and bug #152728

	* app/core/gimpdrawable.c: in functions gimp_drawable_mask_bounds,
	and gimp_drawable_mask_intersect: reinitialize the return values
	after calling gimp_channel_bounds because gimp_channel_bounds
	overwrites the values even when it returns false.  This fixes the
	bug where the gimp crashes when running color tools on layers
	smaller than the image, and processes only part of the image when
	the layer is larger than the image size.
2004-11-10 08:23:05 +00:00
Sven Neumann 66de1a73dc initialize the return values before checking if the drawable is attached.
2004-11-08  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable.c (gimp_drawable_mask_bounds)
	(gimp_drawable_mask_intersect): initialize the return values before
	checking if the drawable is attached. Keeps GIMP from going mad if
	this assertion is ever triggered.
2004-11-07 23:17:39 +00:00
Sven Neumann 639dc4502f changed minimum brush radius from 1.0 to 0.1.
2004-11-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpbrushgenerated.c: changed minimum brush radius from
	1.0 to 0.1.
2004-11-06 19:12:52 +00:00
Sven Neumann ab2e936b79 minor cleanup.
2004-11-02  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.c (gimp_imagefile_save_thumb): minor
	cleanup.

	* libgimpthumb/gimpthumb-utils.c (_gimp_thumbs_delete_others): do
	the right thing. Used to do the wrong thing when called with a
	thumbnail size which is not from the GimpThumbSize enum.
2004-11-02 19:36:23 +00:00
Michael Natterer 41e48fd8b5 renamed "center" to "auto_center".
2004-11-01  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-transform.[ch]
	(gimp_drawable_transform_flip): renamed "center" to "auto_center".

	(gimp_drawable_transform_rotate): added missing parameters so it
	can be used for a to-be-added PDB wrapper offering a
	GimpRotationType based rotate API.

	Both functions: always clip when transforming a whole channel,
	since they must keep their size.

	(gimp_drawable_transform_affine): actually forward the passed
	"clip_result" to transform_tiles_affine() instead of always FALSE.
2004-11-01 17:21:55 +00:00
Øyvind Kolås c5c0a219d9 renamed *levels-auto to *levels-stretch 2004-11-01 16:05:19 +00:00
Michael Natterer 2ab62df91a trailing whitespace.
2004-11-01  Michael Natterer  <mitch@gimp.org>

	* app/actions/drawable-actions.c: trailing whitespace.

	* app/actions/drawable-commands.[ch]: partly revert alphabetical
	ordering. Instead, group them as in drawable-actions.c and order
	by alphabet inside the groups (different ordering in *-actions.c
	and *-commands.c is inconvenient for the usual workflow of editing
	both files at the same time).

	* app/core/gimpdrawable-levels.h: indentation.
2004-11-01 14:06:32 +00:00
Øyvind Kolås ae30cacd28 addition of white balance in menus, and related code reorganization 2004-10-29 22:18:49 +00:00
Øyvind Kolås aba2a57c4e improve fixed point coordinate handling 2004-10-27 19:25:50 +00:00
Michael Natterer d0ab9a7470 app/core/gimp-transform-utils.[ch]. switch from x1,y1,x2,y2 bounding boxes
2004-10-27  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-transform-utils.[ch]. switch from x1,y1,x2,y2
	bounding boxes to x,y,width,height ones. Added
	gimp_transform_matrix_flip_free(). Renamed some parameters to be
	consistent with others. Some internal cleanup.

	* app/tools/gimpperspectivetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* tools/pdbgen/pdb/drawable_transform.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.

	* tools/pdbgen/pdb/drawable_transform.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: guard all transform
	wrappers with if(gimp_drawable_mask_intersect(...)), also the
	ones which don't need the returned bounding box.

	* tools/pdbgen/pdb/drawable_transform.pdb: renamed some parameters
	and added gimp_drawable_transform_matrix() which takes the 9
	coefficients of a 3x3 matrix for ultimate flexibility ;)

	* app/pdb/drawable_transform_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/transform_tools_cmds.c
	* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
2004-10-27 17:56:02 +00:00
Sven Neumann 57eec590ae Added new drawable transform API to the PDB. Largely based on patches from
2004-10-26  Sven Neumann  <sven@gimp.org>

	Added new drawable transform API to the PDB. Largely based on
	patches from Joao S. O. Bueno. Fixes bug #137053.

	* app/core/gimpdrawable-transform.[ch]: added missing parameters
	to gimp_drawable_transform_flip().

	* tools/pdbgen/pdb/transform_tools.pdb: changed accordinly.

	* app/base/base-enums.h
	* app/core/core-enums.h: removed pdp-skip for GimpInterpolationType
	and GimpTransformDirection enums.

	* libgimp/gimpenums.h
	* plug-ins/pygimp/gimpenums.py
	* tools/pdbgen/enums.pl
	* tools/pdbgen/groups.pl: regenerated.

	* tools/pdbgen/Makefile.am
	* tools/pdbgen/pdb/drawable_transform.pdb: added new file defining
	the new PDB calls.

	* app/pdb/Makefile.am
	* app/pdb/drawable_transform_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/transform_tools_cmds.c
	* libgimp/gimp_pdb.h
	* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
2004-10-26 17:50:52 +00:00
Sven Neumann cdea36c6ce removed unused variable 2004-10-26 15:07:10 +00:00
Sven Neumann 1ee62f771e app/actions/channels-commands.c app/core/gimpchannel-select.c
2004-10-26  Sven Neumann  <sven@gimp.org>

	* app/actions/channels-commands.c
	* app/core/gimpchannel-select.c
	* app/core/gimpimagefile.c
	* app/core/gimpundo.c
	* app/widgets/gimpcomponenteditor.c: use the new enum utility
	functions from libgimpbase instead of accessing enum_value->value_name.
2004-10-26 14:45:25 +00:00
Michael Natterer 6711646648 Don't store human readable and translatable enum/flag strings in
2004-10-25  Michael Natterer  <mitch@gimp.org>

	Don't store human readable and translatable enum/flag strings in
	GEnumValue's and GTypeValue's fields but attach them to their
	GType using separate structs and utility functions:

	* tools/gimp-mkenums: added params and perl voodoo to support
	generating a second array of values, which is used by the
	Makefiles below to create and register arrays of value
	descriptions.

	* libgimpbase/gimpbasetypes.[ch]: added API to attach/retreive
	arrays of translatable strings to/from enum and flags types. Added
	structs GimpEnumDesc and GimpFlagsDesc for that purpose.

	* libgimpbase/gimputils.[ch]: changed existing enum utility
	functions, added new ones and added a symmetric API for flags.

	* app/base/Makefile.am
	* app/core/Makefile.am
	* app/display/Makefile.am
	* app/paint/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* libgimp/Makefile.am
	* libgimpbase/Makefile.am: changed *-enums.c generation rules
	accordingly.

	* app/base/base-enums.c
	* app/core/core-enums.c
	* app/display/display-enums.c
	* app/paint/paint-enums.c
	* app/text/text-enums.c
	* app/tools/tools-enums.c
	* app/widgets/widgets-enums.c
	* libgimpbase/gimpbaseenums.c: regenerated.

	* app/widgets/gimpenumstore.c
	* app/widgets/gimpenumwidgets.c
	* app/widgets/gimptemplateeditor.c
	* libgimpwidgets/gimppreviewarea.c: follow the enum utility
	function API changes.
2004-10-25 17:55:25 +00:00
Michael Natterer a61ed834be #include "libgimpbase/gimpbase.h", not just gimputils.h
2004-10-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpobject.c: #include "libgimpbase/gimpbase.h", not
	just gimputils.h
2004-10-25 15:36:55 +00:00
Sven Neumann 726821fef7 say "Click to create preview" if no preview is available.
2004-10-25  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.c (gimp_imagefile_get_desc_string): say
	"Click to create preview" if no preview is available.
2004-10-24 22:30:52 +00:00
David Odin bcfbc61e15 only return early if there's nothing to desaturate.
* app/core/gimpdrawable-desaturate.c: only return early if there's nothing
  to desaturate.
2004-10-24 16:25:26 +00:00
Sven Neumann ea273aadb9 libgimpthumb/gimpthumb-utils.[ch] libgimpthumb/gimpthumbnail.[ch] added
2004-10-23  Sven Neumann  <sven@gimp.org>

	* libgimpthumb/gimpthumb-utils.[ch]
	* libgimpthumb/gimpthumbnail.[ch]
	* libgimpthumb/gimpthumb.def: added missing API, mainly for deleting
	thumbnails.

	* app/core/gimpimagefile.[ch]: when saving a thumbnail, delete a
	failure thumbnail if one exists. Unless the thumbnail was created
	explicitely, remove all other thumbnails for this image.

	* app/actions/documents-commands.c: changed accordingly.

	* app/file/file-open.c: only save a thumbnail if there isn't a
	valid thumbnail already.

	* app/widgets/gimpthumbbox.c: before attempting to create a new
	thumbnail, check if there's an uptodate failure thumbnail.
2004-10-23 15:30:39 +00:00
Sven Neumann 341b6da981 app/actions/colormap-editor-actions.c app/actions/dialogs-actions.c
2004-10-22  Sven Neumann  <sven@gimp.org>

	* app/actions/colormap-editor-actions.c
	* app/actions/dialogs-actions.c
	* app/core/gimpimage-colormap.c
	* app/dialogs/convert-dialog.c
	* app/dialogs/dialogs.c
	* app/widgets/gimpcolormapeditor.c: use the term "Colormap"
	instead of "Indexed Palette". Fixes bug #155829.
2004-10-22 14:43:43 +00:00
Michael Natterer 06447c00c2 added new enum GimpStrokeMethod which can be one of { LIBART, PAINT_CORE
2004-10-22  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.[ch]: added new enum GimpStrokeMethod which
	can be one of { LIBART, PAINT_CORE }.

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpstrokedesc.[ch]: new object which encapsulates
	the params and setup logic for the different stroke methods.

	* app/core/gimpitem.[ch]: use it in GimpItem::stroke() and
	in the gimp_item_stroke() wrapper.

	* app/core/gimpchannel.c (gimp_channel_stroke)
	* app/core/gimpselection.c (gimp_selection_stroke)
	* app/vectors/gimpvectors.c (gimp_vectors_stroke): changed accprdingly.

	* app/actions/select-commands.c
	* app/actions/vectors-commands.c
	* app/dialogs/stroke-dialog.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/paths.pdb: use GimpStrokeDesc. Simplifies the
	code quite a bit.

	* app/pdb/edit_cmds.c
	* app/pdb/paths_cmds.c: regenerated.
2004-10-22 12:32:31 +00:00
Michael Natterer 7ab5fe2903 Replacing the call to gimp_channel_is_empty() by a simple
2004-10-20  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-stroke.c
	(gimp_drawable_stroke_scan_convert): Replacing the call to
	gimp_channel_is_empty() by a simple gimp_drawable_mask_intersect()
	was wrong because gimp_channel_is_empty() makes sure that the
	selection doesn't mask itself while being stroked.
2004-10-20 22:06:00 +00:00
Michael Natterer cb48cef8be added gimp_drawable_mask_intersect() which returns the same bounding box
2004-10-20  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: added gimp_drawable_mask_intersect()
	which returns the same bounding box as gimp_drawable_mask_bounds(),
	but returns TRUE only if there is a non-empty intersection between
	the drawable and the selection, or no selection at all. It also
	returns the intersection as x,y,width,height instead of the
	eeky x1,y1,x2,y2.

	* app/core/gimp-edit.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-desaturate.c
	* app/core/gimpdrawable-equalize.c
	* app/core/gimpdrawable-histogram.c
	* app/core/gimpdrawable-invert.c
	* app/core/gimpdrawable-stroke.c
	* app/core/gimpimagemap.c
	* app/core/gimpselection.c
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: either switch from
	gimp_drawable_mask_bounds() to _intersect() or check the return
	values of _mask_bounds() manually to avoid operations on empty
	areas. Return successfully because it's a nop, not a failure.
	Fixes bug #155733 for the core.

	* app/pdb/color_cmds.c
	* app/pdb/transform_tools_cmds.c: regenerated.
2004-10-19 22:52:04 +00:00
Sven Neumann 0b6f4114d8 added "message" function to the GimpProgress interface. Call
2004-10-14  Sven Neumann  <sven@gimp.org>

	* app/core/gimpprogress.[ch]: added "message" function to the
	GimpProgress interface. Call gimp_message() if it is unimplemented.

	* app/plug-in/plug-in-progress.[ch]: added new function
	plug_in_progress_message() that passes the message to the current
	proc_frame's progress.

	* app/widgets/gimpthumbbox.c: implement GimpProgress::message.
	Just do nothing in the implementation. We don't want to see
	messages from file plug-ins that we use to create the thumbnails.

	* tools/pdbgen/pdb/message.pdb
	* app/pdb/message_cmds.c: if there's a current plug-in, dispatch
	the message by calling plug_in_progress_message().

	* app/display/gimpdisplayshell-close.c: fixed wrong types in
	function calls.
2004-10-14 15:15:03 +00:00
Michael Natterer 1e4203e665 register GimpConvertPaletteType with the type system.
2004-10-14  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.[ch]: register GimpConvertPaletteType with
	the type system.

	* app/widgets/gimpwidgets-utils.c (gimp_enum_radio_frame_add):
	fixed to insert the widget at the right place in the radio box.

	* app/dialogs/convert-dialog.c: use enum widgets and
	gimp_enum_radio_frame_add(), resulting in a much better looking
	dialog with much less lines of code.
2004-10-14 13:44:06 +00:00
Sven Neumann 280a497f48 ref the imagefile while creating the thumbnail.
2004-10-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.c (gimp_imagefile_create_thumbnail): ref
	the imagefile while creating the thumbnail.

	* app/core/gimpimagefile.[ch]
	* app/widgets/gimpthumbbox.c (gimp_thumb_box_auto_thumbnail): moved
	the tricky part about thumbnail creation into the new function
	gimp_imagefile_create_thumbnail_weak().
2004-10-12 23:25:19 +00:00
Sven Neumann ab6c609ce1 renamed struct member "unit" to "resolution_unit".
2004-10-12  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.[ch]: renamed struct member "unit" to
	"resolution_unit".

	* app/actions/image-commands.c
	* app/core/gimp-edit.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-undo-push.c
	* app/dialogs/info-window.c
	* app/vectors/gimpvectors-export.c
	* app/widgets/gimptoolbox-dnd.c:
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c: changed accordingly. Use gimp_image_get_unit()
	where appropriate.

	* app/core/gimptemplate.c (gimp_template_set_from_image): fixed
	unit handling. Don't touch the template unit, it is used as the
	initial display unit. This will need further changes...
2004-10-12 21:28:53 +00:00
Sven Neumann ec693d7b09 app/config/gimpcoreconfig.[ch] added new gimprc option
2004-10-08  Sven Neumann  <sven@gimp.org>

	* app/config/gimpcoreconfig.[ch]
	* app/config/gimprc-blurbs.h: added new gimprc option
	"thumbnail-filesize-limit" that allows to control the maximum
	filesize for automatic thumbnail creation.

	* app/dialogs/preferences-dialog.c: added a GUI for it, needs
	review.

	* app/core/gimpimagefile.[ch]: minor cleanups. Moved call to
	gimp_thumbnail_peek_image() from gimp_imagefile_save_thumb() to
	 gimp_imagefile_save_thumbnail() to avoid it being called twice.

	* app/file/file-utils.[ch]: export utility function
	file_utils_find_proc_by_extension() that allows to check for a
	file plug-in by looking at the filename extension only.

	* app/widgets/gimpthumbbox.[ch]: automatically create or update
	thumbnails for image files with a known extension that are smaller
	than "thumbnail-filesize-limit".  Fixes bug #137176.
2004-10-08 19:29:33 +00:00
Sven Neumann e9e2e3f65a store the time when the image is first dirtied.
2004-10-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.[ch]: store the time when the image is first
	dirtied.

	* app/display/gimpdisplayshell-close.c: tell the user what time
	period of changes will be lost when the image is not saved.
2004-10-05 23:42:35 +00:00
Michael Natterer 3eb69a85f0 tools/pdbgen/pdb/brush.pdb tools/pdbgen/pdb/gradient.pdb disallow the
2004-10-04  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/brush.pdb
	* tools/pdbgen/pdb/gradient.pdb
	* tools/pdbgen/pdb/palette.pdb: disallow the empty string for
	new brushes, gradients and palettes and check the return value
	of gimp_data_factory_data_new(). Cleanup.

	* app/core/gimpbrushgenerated.c (gimp_brush_generated_new)
	* app/core/gimpgradient.c (gimp_gradient_new)
	* app/core/gimpdatafactory.c (gimp_data_factory_data_new): same
	here. Fixes bug #154264.

	* app/core/gimpdata.[ch] (gimp_data_set_filename): added boolean
	"deletable" parameter because it's not derivable from "writable".

	* app/core/gimpdatafactory.c (gimp_data_factory_load_data): need
	to figure "deletable" separately from "writable" to be able to
	delete unsavable stuff in the user-writable data directories.
	Fixes bug #154410.

	(gimp_data_factory_data_save_single): cleaned up.

	* app/pdb/brush_cmds.c
	* app/pdb/gradient_cmds.c
	* app/pdb/palette_cmds.c
	* libgimp/gimpbrush_pdb.c
	* libgimp/gimpgradient_pdb.c
	* libgimp/gimppalette_pdb.c: regenerated.
2004-10-04 09:39:27 +00:00
Michael Natterer 2c74680ef6 code review / cleanup.
2004-09-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimppalette.c: code review / cleanup.

	(gimp_palette_delete_entry): don't add "Black" when the last color
	gets removed, a palette can easily live with zero colors.

	* app/widgets/gimppaletteeditor.c
	(palette_editor_invalidate_preview): also update the entry which
	shows the palette_entry's name.
2004-09-28 14:59:55 +00:00
Sven Neumann ab269fc645 removed conversion to TempBuf. Instead implement
2004-09-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.c: removed conversion to TempBuf.
	Instead implement GimpViewable::get_new_pixbuf by compositing the
	thumbnail on a checkerboard.

	* app/widgets/gimpviewrenderer.[ch]: renamed the no_view_pixbuf
	struct member to pixbuf.
	(gimp_view_renderer_real_render): try gimp_viewable_get_pixbuf()
	and render the pixbuf before falling back to the TempBuf preview.
	(gimp_view_renderer_render_pixbuf): new function that sets a
	pixbuf for the renderer and flushes the render_buffer.

	* app/widgets/gimpviewrendererimagefile.c
	(gimp_view_renderer_imagefile_render): render the pixbuf.

	* app/dialogs/dialogs-constructors.c: create the document history
	dockable with a zero borderwidth.
2004-09-26 23:44:24 +00:00
Michael Natterer 5aeac72ef1 added comment about not changing the silly "Qmask" string because it is
2004-09-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-qmask.h: added comment about not changing the
	silly "Qmask" string because it is used to identify the Quick Mask
	in the XCF.

	* app/core/gimpchannel.c: implement GimpViewable::get_description()
	and return "Quick Mask" if it's the Quick Mask.

	* app/actions/qmask-actions.c
	* app/actions/qmask-commands.c
	* app/core/core-enums.[ch]
	* app/core/gimpimage-qmask.c
	* app/display/gimpdisplayshell.c: s/QuickMask/Quick Mask/.
2004-09-25 16:52:49 +00:00
Michael Natterer ad1c2ca0fc added new vitrual function GimpPickableInterface::get_image()
2004-09-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimppickable.[ch]: added new vitrual function
	GimpPickableInterface::get_image()

	* app/core/gimpdrawable.c
	* app/core/gimpimagemap.c
	* app/core/gimpprojection.[ch]: implement it.
2004-09-25 13:16:13 +00:00
Michael Natterer 877b19c372 factored common code out of the UNDO amd REDO cases. Use
2004-09-24  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-undo-push.c (undo_pop_fs_to_layer): factored
	common code out of the UNDO amd REDO cases. Use gimp_drawable_update()
	instead of gimp_viewable_invalidate_preview() so the projection
	gets updated correctly. Fixes bug #149558.

	* app/core/gimplayer-floating-sel.c (floating_sel_to_layer):
	removed unused variables and their assignments.
2004-09-24 18:06:49 +00:00
Michael Natterer ee5354e4b7 app/dialogs/Makefile.am removed...
2004-09-23  Michael Natterer  <mitch@gimp.org>

	* app/dialogs/Makefile.am
	* app/dialogs/color-dialog.[ch]: removed...

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcolordialog.[ch]: ...and added as widget.

	* app/core/gimpmarshal.list: new marshaller VOID__BOXED_ENUM.

	* app/widgets/widgets-enums.[ch]: new enum GimpColorDialogState.

	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimpcolorpanel.[ch]
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimppaletteeditor.[ch]
	* app/widgets/gimptoolbox-color-area.c
	* app/actions/gradient-editor-commands.c
	* app/actions/view-commands.c: ported to GimpColorDialog. Removes
	a whole bunch of ugly widgets/ -> dialogs/ dependencies.
2004-09-23 20:41:40 +00:00
Michael Natterer 10d80dac75 removed the hack that was displaying "Floating Selection" instead of the
2004-09-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimplayertreeview.c
	(gimp_layer_tree_view_floating_selection_changed): removed the
	hack that was displaying "Floating Selection" instead of the
	floating layer's real name.

	* app/core/gimplayer.c: implement GimpViewable::get_description()
	instead and special case floating selections with a two-line
	text that contains "Floating Selection".

	* app/core/gimplayer-floating-sel.c
	* app/core/gimpimage-undo-push.c: emit "name_changed" on the layer
	when it changes its state from floating to normal or vice versa
	so the views can update accordingly.

	* app/core/gimpselection.c: s/"Selection"/"Floated Layer"/.

	* app/tools/gimpeditselectiontool.c:
	s/"Floating Layer"/"Floating Selection"/.
2004-09-22 12:46:35 +00:00
Sven Neumann 23690346af Improved undo memory calculation for paint operations (bug #153035):
2004-09-19  Sven Neumann  <sven@gimp.org>

	Improved undo memory calculation for paint operations (bug #153035):

	* app/base/tile-manager.[ch] (tile_manager_get_memsize): added a
	"gboolean sparse" parameter to get more accurate results for
	sparse tile-managers.

	* app/core/gimpbuffer.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/core/gimpprojection.c: changed accordingly.
2004-09-19 19:47:26 +00:00
Sven Neumann c3ef897b10 Try to make floating selections more obvious:
2004-09-19  Sven Neumann  <sven@gimp.org>

	Try to make floating selections more obvious:

	* app/widgets/gimplayertreeview.c
	(gimp_layer_tree_view_floating_selection_changed): always display
	"Floating Selection" as the name for a floating selection.

	* app/core/gimpselection.c (gimp_selection_float): call the new
	layer "Selection" instead of "Floating Selection". This is what
	will be displayed if the FS is turned into a layer.

	* app/actions/layers-commands.c (layers_edit_layer_query): don't
	special case floating selections here.

	* app/core/gimplayer-floating-sel.c: cosmetics.
2004-09-19 16:56:03 +00:00
Sven Neumann cace0a19a0 app/actions/qmask-commands.c just some cleanup.
2004-09-18  Sven Neumann  <sven@gimp.org>

	* app/actions/qmask-commands.c
	* libgimpcolor/gimprgb.c (gimp_rgba_distance): just some cleanup.

	* app/core/gimpimage-qmask.c (gimp_image_set_qmask_color): always
	set gimage->qmask_color regardless of the qmask state.

	* libgimpwidgets/gimpcolorbutton.c (gimp_color_button_new): set
	the type before setting the color.
2004-09-17 22:16:21 +00:00
Sven Neumann 477b44360f based on a patch from Joao S. O. Bueno: Ensure that the pasted layer is
2004-09-17  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-edit.c (gimp_edit_paste): based on a patch from
	Joao S. O. Bueno: Ensure that the pasted layer is always within
	the image, if it fits and aligned at top left if it doesn't.
	Fixes bug #142944.
2004-09-17 09:14:02 +00:00
Sven Neumann 29b455c901 replaced a bitshift with a binary and. Should be unnoticeably faster ;)
2004-09-16  Sven Neumann  <sven@gimp.org>

	* app/core/gimpscanconvert.c (VALUE_TO_PIXEL): replaced a bitshift
	with a binary and. Should be unnoticeably faster ;)
2004-09-16 11:31:30 +00:00
Simon Budig 34d51a6382 Implemented an own rendering callback for libart and use it instead of
2004-09-16  Simon Budig  <simon@gimp.org>

	* app/core/gimpscanconvert.c: Implemented an own rendering
	callback for libart and use it instead of art_gray_svp_aa().
	This now handles non-antialiased scan conversions itself. It
	also basically shows the way to implement a LUT for the
	scan conversion.
2004-09-16 00:46:02 +00:00
Simon Budig fe7eb34e6e Implement function to resize the image to contain all layers completely.
2004-09-05  Simon Budig  <simon@gimp.org>

	* app/core/gimpimage-resize.[ch]: Implement function to resize
	the image to contain all layers completely. Untabified.

	* app/actions/image-actions.c
	* app/actions/image-commands.[ch]
	* app/widgets/gimphelp-ids.h
	* menus/image-menu.xml.in: Make it available in the GUI.

	* tools/pdbgen/pdb/image.pdb: Make it available in the PDB.

	* app/pdb/image_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpimage_pdb.[ch]: regenerated.
2004-09-04 22:08:43 +00:00
Michael Natterer 6b43c205d1 added GimpProgress parameter to gimp_drawable_transform_affine().
2004-08-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-transform.[ch]: added GimpProgress
	parameter to gimp_drawable_transform_affine().

	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: show progress for "blend"
	and all transform functions.

	* app/pdb/edit_cmds.c
	* app/pdb/transform_tools_cmds.c: regenerated.
2004-08-31 14:17:33 +00:00
Michael Natterer 9e76c5a4bc added "GimpPaintInfo *paint_info" member and construct property. Changed
2004-08-31  Michael Natterer  <mitch@gimp.org>

	* app/paint/gimppaintoptions.[ch]: added "GimpPaintInfo *paint_info"
	member and construct property. Changed gimp_paint_options_new()
	to take only a GimpPaintInfo parameter.

	* app/core/gimpitem.c (gimp_item_stroke)
	* app/core/gimppaintinfo.c (gimp_paint_info_new): changed accordingly.

	* app/core/gimpchannel.c (gimp_channel_stroke)
	* app/vectors/gimpvectors.c (gimp_vectors_stroke): use
	paint_options->paint_info->paint_type directly instead of casting
	to GimpToolOptions and using
	tool_options->tool_info->paint_info->paint_type (eek). Fixes crash
	when stroking via the PDB because newly created GimpToolOptions
	instances have no "tool_info" pointer yet.

	* tools/pdbgen/pdb/paint_tools.pdb: changed all paint PDB wrappers
	accordingly.

	* app/pdb/paint_tools_cmds.c: regenerated.
2004-08-31 13:20:57 +00:00
Michael Natterer 509b88e815 Brought the PDB progress into a working state. Fixes bug #6010, addressed
2004-08-30  Michael Natterer  <mitch@gimp.org>

	Brought the PDB progress into a working state. Fixes bug #6010,
	addressed bugs #97266 and #135185 and unfortunately reopens bug
	#150194 (will fix that later).

	* libgimpbase/gimpbaseenums.h: added enum GimpProgressCommand.

	* app/core/gimppdbprogress.c
	* libgimp/gimpprogress.c: use the enum instead of integer
	constants for the different progress commands. Cleanup.

	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-in-run.c
	* app/plug-in/plug-in.c: switch bach to real refcouting for
	plug_in->progress (reopens bug #150194) and enabled the PDB
	progress code.

	* plug-ins/script-fu/script-fu-scripts.c: cleaned up the
	progress stuff and the script-fu interface a bit.

	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2004-08-30 14:57:24 +00:00
Michael Natterer 065db21d0a Added an API to allow plug-ins to embed the progress for the actions they
2004-08-29  Michael Natterer  <mitch@gimp.org>

	Added an API to allow plug-ins to embed the progress for the
	actions they trigger into their own GUI (attention: half-done and
	broken code ahead...)

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimppdbprogress.[ch]: new object implementing dispatching
	progress calls to a temporary PDB procedure in a plug-in.

	* app/Makefile.am: force to link gimppdbprogress.o, bah!

	* app/plug-in/plug-in-progress.[ch]: added API to install,
	uninstall and cancel a PDB progress for this plug-in, but disabled
	the implementation because it doesn't work yet.

	* tools/pdbgen/pdb/progress.pdb: added pdb wrappers for the new
	install, uninstall and cancel functions.

	* libgimp/Makefile.am
	* libgimp/gimp.h
	* libgimp/gimpprogress.[ch]: added an API around the PDB progress
	stuff.

	* app/pdb/internal_procs.c
	* app/pdb/progress_cmds.c
	* libgimp/gimpprogress_pdb.[ch]: regenerated.

	* plug-ins/script-fu/script-fu-scripts.c: use the new API to show
	the progress in the script-fu dialog.
2004-08-29 18:36:30 +00:00
David Odin b7f58e163e Renamed GimpPreviewSize to GimpViewSize.
* app/core/core-enums.h: Renamed GimpPreviewSize to GimpViewSize.

* app/core/core-enums.c: Regenerated.

* app/actions/dockable-actions.c

* app/config/gimpcoreconfig.c
* app/config/gimpcoreconfig.h
* app/config/gimpdisplayconfig.c
* app/config/gimpdisplayconfig.h

* app/core/gimpundo.c

* app/display/gimpnavigationeditor.c

* app/gui/dialogs.c
* app/gui/file-open-location-dialog.c

* app/tools/gimppaintoptions-gui.c
* app/tools/gimptextoptions.c

* app/widgets/gimpbrushselect.c
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpcontainerview.c
* app/widgets/gimpdialogfactory.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpsessioninfo.c
* app/widgets/gimptemplateeditor.c
* app/widgets/gimpundoeditor.c
* app/widgets/gimpundoeditor.h
* app/widgets/gimpviewablebutton.c: Changed accordingly.
2004-08-29 11:58:05 +00:00
Sven Neumann 804788c120 applied a patch from Eric Cheung that changes the function to use a GQueue
2004-08-28  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-contiguous-region.c
	(find_contiguous_region_helper): applied a patch from Eric Cheung
	that changes the function to use a GQueue to implement recursion
	instead of recursive function calls. Fixes bug #151124.

	* plug-ins/common/noisify.c (noisify_dialog): left-align the
	preview.
2004-08-28 11:48:00 +00:00
Michael Natterer f1d0db6d99 removed "gboolean use_default_values" from GimpItem::stroke().
2004-08-26  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: removed "gboolean use_default_values"
	from GimpItem::stroke().

	* app/core/gimpchannel.c
	* app/core/gimpselection.c
	* app/vectors/gimpvectors.c: changed accordingly.
2004-08-26 16:33:42 +00:00
Michael Natterer 23bd12162d implement the whole paint_options fiddling here instead of in each
2004-08-26  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.c (gimp_item_stroke): implement the whole
	paint_options fiddling here instead of in each subclass and pass
	either GimpStrokeOptions or GimpPaintOptions (instead of
	GimpStrokeOptions or GimpPaintInfo) to GimpItem::stroke().

	Also copied code (that needs to be abstracted to a utility
	function) from the tool_manager which makes sure we really use the
	global brush, pattern etc. if these options are checked in prefs.
	Fixes bug #150716.

	* app/core/gimpchannel.c (gimp_channel_stroke)
	* app/vectors/gimpvectors.c (gimp_vectors_stroke): removed the
	duplicated code mentioned above and simply use the paint_options
	passed.
2004-08-26 16:06:13 +00:00
Sven Neumann 80531ec936 added gimp_message_box_repeat().
2004-08-25  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpmessagebox.[ch]: added gimp_message_box_repeat().

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimperrordialog.[ch]: added new dialog that adds a new
	GimpMessageBox for each message added. Fixes bug #92604.

	* app/widgets/gimpwidgets-utils.[ch]: removed old gimp_message_box()
	functionality.

	* app/gui/gui.c (gui_abort): use a GimpMessageBox in a GimpDialog.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c: manage GimpErrorDialog as singleton.

	* app/gui/gui-vtable.c (gui_message): use the new error dialog.

	* app/core/gimp-gui.c (gimp_message): substitue "GIMP" for a NULL
	domain.

	* app/widgets/gimperrorconsole.c (gimp_error_console_add): fail
	when being called with a NULL domain.
2004-08-25 17:58:52 +00:00
Michael Natterer db1d6b0d6e app/core/gimp.c converted tabs to spaces, cosmetic changes.
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.c
	* app/core/gimpimagefile.c: converted tabs to spaces, cosmetic
	changes.
2004-08-11 14:00:08 +00:00
Michael Natterer 57a3396d40 added virtual function gboolean GimpProgressInterface::is_active().
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpprogress.[ch]: added virtual function
	gboolean GimpProgressInterface::is_active().

	* app/display/gimpdisplay.c
	* app/display/gimpstatusbar.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpprogressbox.c
	* app/widgets/gimpprogressdialog.c
	* app/widgets/gimpthumbbox.c: implement it.

	* app/plug-in/plug-in.h: removed "gboolean progress_active" and
	added "gulong progress_cancel_id" instead.

	* app/plug-in/plug-in-progress.c: changed accordingly. Make sure
	we correctly handle the "cancel" connections of progress instances
	passed from other plug-ins.
2004-08-11 10:29:56 +00:00
Michael Natterer ca30f73817 added "display_ID" to gimp_new_progress().
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-gui.[ch]: added "display_ID" to gimp_new_progress().

	* app/gui/gui-vtable.c: changed accordingly.

	* app/plug-in/plug-in-progress.[ch]: reenabled showing the
	progress in a particular display.
2004-08-11 09:36:51 +00:00
Michael Natterer 502f9b71f3 app/core/gimpdrawable-blend.c some progress cleanup.
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-blend.c
	* app/core/gimpprogress.c: some progress cleanup.

	* app/display/gimpstatusbar.c (gimp_statusbar_progress_start): no
	need to warn if there is already a progress active, just silently
	return NULL as all other GimpProgressInterface implementors.

	* app/plug-in/plug-in-progress.c: several progress fixes.
	It's still a mess.

	* plug-ins/common/url.c: don't show progress depending on
	run_mode. Run the actual file plug-in with the same run_mode we
	were invoked with.
2004-08-11 00:34:34 +00:00
Michael Natterer 02d2b990f5 Redid the whole internal progress stuff: don't pass around
2004-08-10  Michael Natterer  <mitch@gimp.org>

	Redid the whole internal progress stuff: don't pass around
	progress_callback and progress_data; instead, provide a
	pointer to a GimpProgressInterface which can be implemented
	by a variety of backends.

	Addresses (but not yet fixes) bugs #6010, #97266 and #135185.

	* app/display/Makefile.am
	* app/display/gimpprogress.[ch]: removed the old progress hack.

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpprogress.[ch]: implement GimpProgressInterface.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpprogressdialog.[ch]: the standalone progress
	dialog as widget implementing GimpProgressInterface.

	* app/display/gimpdisplay.c
	* app/display/gimpstatusbar.[ch]
	* app/widgets/gimpfiledialog.[ch]
	* app/widgets/gimpthumbbox.[ch]: added GimpProgressInterface
	implementation to these classes.

	* app/core/gimp-gui.[ch]
	* app/gui/gui-vtable.c: replaced the old progress vtable entries
	by two new to create and destroy a GimpProgressDialog in case
	no other progress is available.

	* app/pdb/procedural_db.[ch]
	* app/plug-in/plug-in-run.[ch]
	* tools/pdbgen/app.pl: pass a GimpProgress to all PDB wrappers and
	all plug-ins.

	* app/plug-in/plug-in.[ch]
	* app/plug-in/plug-ins.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-progress.c: handle the case there the
	plug-in was crated with a progress as well as the case where it
	wasn't.

	* app/app_procs.c
	* app/batch.c
	* app/xcf/xcf.c
	* app/file/file-open.[ch]
	* app/file/file-save.[ch]
	* app/widgets/gimphelp.c
	* app/widgets/gimpbrushselect.c
	* app/widgets/gimpfontselect.c
	* app/widgets/gimpgradientselect.c
	* app/widgets/gimppaletteselect.c
	* app/widgets/gimppatternselect.c: changed accordingly.

	* app/core/gimpimagefile.[ch]
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/file-open-dialog.c
	* app/gui/file-open-location-dialog.c
	* app/gui/file-save-dialog.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c: pass a GimpProgress to all file
	related functions. Embed the progress in the file dialog where
	possible.

	* app/core/gimpdrawable-blend.[ch]
	* app/core/gimpdrawable-transform.[ch]
	* app/core/gimpimage-convert.[ch]
	* app/core/gimpimage-flip.[ch]
	* app/core/gimpimage-resize.[ch]
	* app/core/gimpimage-rotate.[ch]
	* app/core/gimpimage-scale.[ch]
	* app/core/gimpitem-linked.[ch]
	* app/core/gimpitem.[ch]
	* app/core/gimpchannel.c
	* app/core/gimpdrawable.c
	* app/core/gimplayer.c
	* app/core/gimpselection.c
	* app/vectors/gimpvectors.c: replaced callback/data by GimpProgress.

	* app/tools/gimpblendtool.c
	* app/tools/gimptransformtool.c
	* app/gui/convert-dialog.c
	* app/actions/documents-commands.c
	* app/actions/file-commands.c
	* app/actions/image-commands.c
	* app/actions/layers-commands.c
	* app/actions/plug-in-commands.c
	* app/actions/vectors-commands.c
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb: changed callers accordingly.

	* app/pdb/*_cmds.c: regenerated.
2004-08-10 18:47:21 +00:00
Sven Neumann b6efff7e77 plugged more file descriptor leaks.
2004-08-10  Sven Neumann  <sven@gimp.org>

	* app/core/gimpbrushgenerated.c (gimp_brush_generated_load):
	plugged more file descriptor leaks.
2004-08-10 11:33:13 +00:00
David Odin c1566ea848 don't leak a file descriptor when reading a bad .vbr file.
* app/core/gimpbrushgenerated.c: don't leak a file descriptor when
  reading a bad .vbr file.
2004-08-10 02:37:44 +00:00
Michael Natterer 88768c66f8 Applied (slightly modified) patch from Shlomi Fish which adds a progress
2004-08-09  Michael Natterer  <mitch@gimp.org>

	Applied (slightly modified) patch from Shlomi Fish which adds a
	progress bar to the RGB -> INDEXED conversion. Fixes bug #145274

	(and shows that we really really need a GimpProgressInterface in
	the core to give progress users full access to the progress API)

	* app/core/gimpimage-convert.[ch]: added special
	GimpImageConvertProgress function typedef to cope with the
	different stages of converting.  Support passing such a callback &
	data to gimp_image_convert() and update the progress accordingly.

	* app/gui/convert-dialog.[ch]: added a convert progress callback
	and pass it to gimp_image_convert().

	* app/actions/image-commands.c
	* tools/pdbgen/pdb/convert.pdb: changed accordingly.

	* app/pdb/convert_cmds.c: regenerated.
2004-08-09 16:08:36 +00:00
Hans Breuer eafd79de87 gimp_create_display() with the right parameters order
2004-08-09  Hans Breuer  <hans@breuer.org>

	* app/core/gimp-edit.c(gimp_edit_paste_as_new) :
	gimp_create_display() with the right parameters order

	* app/widgets/gimpwidgets-utils.c (gimp_message_box_set_icons)
	handle gtk_style_lookup_icon_set() returnig NULL

	* app/gimpcore.def app/widgets/makefile.msc
	  themes/default/images/makefile.msc : updated
2004-08-08 22:47:23 +00:00
Simon Budig 428c4a8d60 Enhanced the range of the hardness parameter to make more soft brushes
2004-08-04  Simon Budig  <simon@gimp.org>

	* app/core/gimpbrushgenerated.c: Enhanced the range of the hardness
	parameter to make more soft brushes possible. Please note that this
	makes existing generated brushes look more soft. But since people
	apparently rarely use more than one or two generated brushes and
	these get changed frequently I guess it should be OK.
2004-08-04 17:41:33 +00:00
Michael Natterer fd1a0e142c Allow URI drops from apps linked against GLib < 2.4.4 to GIMP linked
2004-08-04  Michael Natterer  <mitch@gimp.org>

	Allow URI drops from apps linked against GLib < 2.4.4 to GIMP
	linked against GLib >= 2.4.5. Fixes bug #148140.

	* app/core/gimp-utils.[ch]: added gimp_check_glib_version().

	* app/widgets/gimpselectiondata.c: added runtime check for GLib
	versions that encode file:// URIs correctly (>= 2.4.5). For older
	(broken) GLibs, leave the code path as is, for newer (fixed) ones,
	perform an additional check if the dropped URI is in the (broken)
	escaped-UTF-8 format and convert it to local filename encoding.

	* app/gui/gui.c: warn the user that non-ASCII filenames can't
	be used when linked against GLib 2.4.4.
2004-08-04 17:11:39 +00:00
Michael Natterer 51b8b94ed9 changed member "ProcRecord last_plug_in" to PlugInProcDef last_plug_in".
2004-08-04  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: changed member "ProcRecord last_plug_in" to
	PlugInProcDef last_plug_in". Added function
	gimp_set_last_plug_in() and signal Gimp::last-plug-in-changed.

	* app/actions/plug-in-commands.c
	* app/plug-in/plug-in-run.c: changed accordingly.

	* app/actions/plug-in-actions.c: factored out updating of the
	"Reshow Last" and "Rerun Last" actions to a private function.
	Connect each "plug-in" action group to Gimp::last-plug-in-changed
	and update the actions' label and sensitivity in the
	callback. Fixes bug #149139.
2004-08-04 14:00:14 +00:00
Michael Natterer b909c2b2ee new function which checks if undo compression is possible:
2004-08-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-undo.[ch] (gimp_image_undo_can_compress):
	new function which checks if undo compression is possible:

	(1) is the image dirty? Fixes bug #148853.
	(2) is redo stack empty?
	(3) do both the passed undo object_type and undo_type
	    match the top undo item?

	Consistently name the GType and GimpUndoType passed to undo
	functions "object_type" and "undo_type" to avoid confusion.

	* app/actions/layers-commands.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimptexttool.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c: use the new utility function
	instead of checking the above conditions manually.
2004-08-03 14:09:49 +00:00
Michael Natterer 36d5f97bd0 don't leak the brush's name if parsing the shape fails.
2004-08-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpbrushgenerated.c (gimp_brush_generated_load): don't
	leak the brush's name if parsing the shape fails.

	(gimp_brush_generated_dirty): shut up bogus compiler warnings
	about uninitialized variables.
2004-08-03 12:56:19 +00:00
Simon Budig 7f95f04342 Fixed brush spacing for brushes with >= 2 spikes. Spotted by Joao S. O.
2004-08-02  Simon Budig  <simon@gimp.org>

	* app/widgets/gimpbrusheditor.c: Fixed brush spacing for brushes
	with >= 2 spikes. Spotted by Joao S. O. Bueno.

	Fixes bug #149099.
2004-08-02 21:34:12 +00:00
Hans Breuer 3b3039148c build but *dont link* display-enums.obj, widget-enums.obj and
2004-07-31  Hans Breuer  <hans@breuer.org>

	* app/display/makefile.msc app/widgets/makefile.msc : build
	but *dont link* display-enums.obj, widget-enums.obj and
	gimpdisplayoptions.obj. They must be in the dll
	* app/makefile.msc : build gimp.exe and gimp-console.exe both
	using the same gimp-core.dll
	* app/gimpcore.def : new file, exports for gimp-core.dll
	* app/Makefile.am : added to EXTRA_DIST

	* cursors/makefile.msc : new file to create gimp-tool-cursors.h
	* cursors/Makefile.am : added to EXTRA_DIST

	* **/makefile.msc : updated

	* app/main.c app/app_procs.c : moved code to close the console
	from the former to the later. It only is to be used if The Gimp
	is not build as console app.

	* plug-ins/gfig/gfig.c : dont gimp_drawable_detach() the same
	drawable twice
	* plug-ins/gfig-dialog.c() : added a g_return_if_fail() to avoid
	crashing on File/Import
2004-08-01 20:51:12 +00:00
Simon Budig 1eb3009f1a Added optional spikes for the generated brushes, enabling star shaped
2004-08-01  Simon Budig  <simon@gimp.org>

	* app/core/gimpbrushgenerated.[ch]: Added optional spikes for
	the generated brushes, enabling star shaped generated brushes.

	* app/widgets/gimpbrusheditor.[ch]: GUI for this.

	* app/core/gimpbrush.c: changed accordingly.
2004-08-01 17:20:00 +00:00
Simon Budig c40e29399d app/core/core-enums.h Implement three different brush shapes for generated
2004-08-01  Simon Budig  <simon@gimp.org>

	* app/core/core-enums.h
	* app/core/gimpbrushgenerated.[ch]: Implement three different
	brush shapes for generated brushes.

	* app/core/gimpbrush.c: changed accordingly.
	* app/core/core-enums.c: regenerated.

	* app/widgets/gimpbrusheditor.[ch]: Add toggles for the shape.
	* themes/Default/images/stock-brush-generated-*-16.png: New stock
	icons for the brush shapes.

	* themes/Default/images/Makefile.am
	* libgimpwidgets/gimpstock.[ch]: changed accordingly

	untabified the files touched.
2004-08-01 03:06:58 +00:00
Michael Natterer 4b582b481a Replaced the concept of having a boolean indicating if an undo step
2004-07-29  Michael Natterer  <mitch@gimp.org>

	Replaced the concept of having a boolean indicating if an undo
	step dirties the image by a bitfield indicating which parts
	of the image are dirtied:

	* app/core/core-enums.[ch]: reordered two values in enum
	GimpUndoType, added GIMP_DIRTY_IMAGE_SIZE to enum GimpDirtyMask.

	The values of GimpDirtyMask are still questionable and will
	probably change...

	* app/core/gimpimage.[ch]: removed signal "undo_start" and added
	a GimpDirtyMask parameter to the "dirty" and "clean" signals.

	* app/core/gimpimage-undo.[ch] (gimp_image_undo_push): replaced
	"gboolean dirties_image" by "GimpDirtyMask dirty_mask" and pass
	it to gimp_image_dirty().

	(gimp_image_undo_group_start): added *ugly* code which tries to
	figure GimpDirtyMask from the group's GimpUndoType and store it in
	the GimpUndoGroup. Call gimp_image_dirty() instead of the removed
	gimp_image_undo_start(). This means the undo group now dirties the
	image just like one of its undo steps, but that's no problem since
	undoing cleans it in the same way.

	* app/core/gimpundo.[ch]: s/dirties_image/dirty_mask/g

	(gimp_undo_pop): emit clean/dirty signals *before* performing the
	actual undo step so listeners can detach from the image before it
	is changed by undo.

	* app/core/gimpimage-undo-push.c (gimp_image_undo_push_*): pass a
	GimpDirtyMask instead of TRUE/FALSE to gimp_image_undo_push().

	* app/core/gimpimagemap.[ch]: removed "gboolean interactive"
	because it makes no sense to use GimpImageMap noninteractively.
	Don't freeze()/thaw() undo while the image_map is active which
	fixes many ways of trashing the image's undo state but probably
	introduces new ways of doing evil things.

	* app/display/gimpdisplay-foreach.c
	* app/display/gimpdisplayshell-handlers.c: changed according
	to the GimpImage::clean()/dirty() signal changes. Small fixes
	in the quit dialog's dirty image container.

	* app/tools/gimptoolcontrol.[ch]: added member and API to
	set/get the dirty_mask.

	* app/tools/gimpcroptool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c: whenever setting "preserve" to
	FALSE, also set a "dirty_mask" which specifies on which image
	changes the tool wants to be canceled.

	* app/tools/tool_manager.c: removed "undo_start" connection and
	connect to both "dirty" *and* "clean" to check if the active_tool
	needs to be canceled. Cancel the tool only if the dirty_mask
	passed in the signal has common bits with the tool's dirty_mask.

	Fixes bug #109561 and probably opens some new ones...
2004-07-29 14:16:21 +00:00
Sven Neumann e10ebe1805 removed enums GimpImageType and GimpImageBaseType ...
2004-07-29  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.h: removed enums GimpImageType and
	GimpImageBaseType ...

	* libgimpbase/gimpbaseenums.h: ... and added them here. Also moved
	all enums from gimpbasetypes.h to this new file.

	* libgimpbase/Makefile.am
	* tools/pdbgen/Makefile.am: changed accordingly.

	* app/core/core-enums.c
	* libgimp/gimpenums.h
	* libgimpbase/gimpbaseenums.c
	* tools/pdbgen/enums.pl: regenerated.

	* libgimpbase/gimpparasite.c
	* libgimpbase/gimpprotocol.c
	* libgimp/gimp.c: include <glib-object.h>

	* libgimpbase/gimpbasetypes.[ch]: added API to set and get a
	translation domain on a GType. This is used for translatable enum
	values.

	* libgimpbase/gimputils.[ch]: added API to retrieve the translated
	name for an enum value.

	* app/widgets/gimpenumstore.c
	* app/widgets/gimpenumwidgets.c: use the new API in libgimpbase.
2004-07-29 12:33:15 +00:00
Dave Neary 44d9cc70da Stop signed ints overflowing while getting the mean by replacing (a + b) /
2004-07-29  Dave Neary  <bolsh@gimp.org>

	* app/core/gimpdrawable-transform.c: Stop signed ints overflowing
	while getting the mean by replacing (a + b) / 2 with a / 2 + b / 2.
	Fixes bug #128594 for drawables less than 32K wide.
2004-07-29 11:40:27 +00:00
Michael Natterer ee42d8f506 added still unused flags type GimpDirtyMask.
2004-07-28  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.h: added still unused flags type
	GimpDirtyMask.

	* app/base/Makefile.am
	* app/core/Makefile.am
	* app/display/Makefile.am
	* app/paint/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* libgimpthumb/Makefile.am: changed calls to gimp-mkenums to
	support GTypeFlags and to make the value arrays private to the
	get_type() functions.

	* app/base/base-enums.c
	* app/core/core-enums.c
	* app/display/display-enums.c
	* app/paint/paint-enums.c
	* app/text/text-enums.c
	* app/tools/tools-enums.c
	* app/widgets/widgets-enums.c: regenerated.
2004-07-28 11:50:20 +00:00
Sven Neumann b580628e4f don't leak empty SVG gradients.
2004-07-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpgradient-load.c: don't leak empty SVG gradients.
2004-07-27 19:34:27 +00:00
Sven Neumann bd427b2e4d libgimpbase/Makefile.am libgimpbase/gimpbase.h libgimpbase/gimpbase.def
2004-07-27  Sven Neumann  <sven@gimp.org>

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimpbase.def
	* libgimpbase/gimpmemsize.[ch]: added new files with memsize
	related functions (moved here from gimputil.c) and
	GIMP_TYPE_MEMSIZE (moved here from app/config/gimpconfig-types.[ch]).

	* libgimpbase/gimputils.[ch]: removed gimp_memsize_to_string() here.

	* libgimpbase/gimpunit.[ch]: added GIMP_TYPE_UNIT (moved here from
	app/config/gimpconfig-types.[ch]).

	* libgimpbase/gimpbase-private.c
	* libgimp/gimptile.c
	* libgimp/gimpunitcache.c
	* plug-ins/help/domain.c
	* app/xcf/xcf-read.c: need to include glib-object.h.

	* plug-ins/common/uniteditor.c: use GIMP_TYPE_UNIT.

	* app/config/gimpconfig-types.[ch]: removed code that lives in
	libgimpbase now.

	* app/config/gimpconfig-deserialize.c: changed accordingly.

	* app/config/gimpbaseconfig.c
	* app/config/gimpdisplayconfig.c
	* app/core/gimpcontext.c
	* app/gui/grid-dialog.c
	* app/tools/gimpcolortool.c
	* app/widgets/gimpaction.c
	* app/widgets/gimpunitstore.c: no need to include gimpconfig-types.h
	any longer.
2004-07-27 16:39:00 +00:00
Michael Natterer 9b5862e79b remove the image from the image hash table and set its "gimp" pointer to
2004-07-27  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.c (gimp_image_finalize): remove the image
	from the image hash table and set its "gimp" pointer to NULL
	*after* all layers, channels, vectors and the selection are
	finalized; otherwise these items have no chance of removing
	themselves from the item hash table (because image->gimp is
	already NULL). Spotted by pgimeno and nomis.
	(should be backported after it got some testing)
2004-07-27 15:10:41 +00:00
Michael Natterer caabe7f334 removed GIMP_TYPE_COLOR.
2004-07-26  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig-types.h: removed GIMP_TYPE_COLOR.

	* app/config/gimpconfig-params.[ch]: renamed GimpParamSpecColor
	to GimpParamSpecRGB.

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-dump.c
	* app/config/gimpconfig-serialize.c
	* app/config/gimpscanner.c
	* app/core/gimp-utils.c
	* app/core/gimpcontext.c
	* app/core/gimpgrid.c
	* app/display/gimpdisplayoptions.c
	* app/text/gimptext.c
	* app/tools/gimpcolortool.c
	* app/widgets/gimpaction.c
	* app/widgets/gimpcolorbar.c
	* app/widgets/gimppropwidgets.c: changed accordingly.
2004-07-26 19:56:47 +00:00
Sven Neumann 8eec57e372 load all linear gradients from an SVG file, not only the first one.
2004-07-26  Sven Neumann  <sven@gimp.org>

	* app/core/gimpgradient-load.c: load all linear gradients from an
	SVG file, not only the first one.
2004-07-26 19:19:04 +00:00
Michael Natterer 638f2b3a9c added "gboolean writable" to the GimpDataFactoryLoaderEntry struct. Return
2004-07-26  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdatafactory.h: added "gboolean writable" to the
	GimpDataFactoryLoaderEntry struct. Return a GList* instead of
	GimpData* from GimpDataLoadFunc so it's possible to load more than
	one data object from one file.

	* app/core/gimpdatafactory.c (gimp_data_factory_load_data):
	changed accordingly: add all items of the returned lists to the
	data factory. Make the data object writable only if it's in the
	writable path *and* its loader entry says it's a writable format
	*and* the returned list contains exactly one element.

	* app/core/gimp.c (gimp_real_initialize): declare all loader
	entries as writable where we have code to read and write exactly
	one object per file; all others are not writable.

	* app/core/gimpbrush.[ch]
	* app/core/gimpbrushgenerated.[ch]
	* app/core/gimpbrushpipe.[ch]
	* app/core/gimpgradient-load.[ch]
	* app/core/gimppalette.[ch]
	* app/core/gimppattern.[ch] (all load functions): return a list
	containing the loaded object instead of the object itself.
2004-07-26 19:00:22 +00:00
Michael Natterer 3632f62b90 removed unused typedef GimpDataObjectLoaderFunc.
2004-07-26  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: removed unused typedef
	GimpDataObjectLoaderFunc.
2004-07-26 16:27:43 +00:00
Sven Neumann 333489a6e2 fixed handling of the last gradient segment and did some code cleanup.
2004-07-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimpgradient-load.c (svg_parser_end_element): fixed
	handling of the last gradient segment and did some code cleanup.
2004-07-23 14:00:38 +00:00
Sven Neumann f0da0e438c (svg_parser_end_element): don't crash on empty gradient definitions. 2004-07-23 12:55:58 +00:00
Sven Neumann df0bf0185b improved error message.
2004-07-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimpgradient-load.c (gimp_gradient_load_svg): improved
	error message.
2004-07-23 12:19:21 +00:00
Sven Neumann e965603984 added more test samples.
2004-07-23  Sven Neumann  <sven@gimp.org>

	* libgimpcolor/test-color-parser.c: added more test samples.

	* libgimpcolor/gimprgb-parse.c: fixed a bug that I found with the
	new tests.

	* app/core/gimpgradient-load.c: changed SVG parser to handle
	gradients that are defined more deeply in the SVG hierarchy. Added
	a simplistic CSS style parser to deal with gradient definitions
	that use CSS to define the gradient stop properties (closes bug
	#148127).
2004-07-23 11:31:16 +00:00
Sven Neumann 21dd07518c some newlines to improve error messages.
2004-07-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdatafactory.c: some newlines to improve error
	messages.

	* app/core/gimpgradient-load.c (gimp_gradient_load_svg): fixed
	error handling.
2004-07-23 01:08:34 +00:00
Sven Neumann a6f4f62608 libgimpcolor/gimprgb-parse.c use a signed integer to pass the string
2004-07-22  Sven Neumann  <sven@gimp.org>

	* libgimpcolor/gimprgb-parse.c
	* libgimpcolor/gimprgb.h: use a signed integer to pass the string
	length to the new parser functions. The API explicitely asks for
	-1 to be passed...

	* app/core/gimp.c
	* app/core/gimpgradient-load.[ch]
	* app/core/gimpgradient.h: added preliminary support for loading
	simple SVG gradients (see bug #148127).  Be careful with this new
	feature; editing the loaded gradient will cause the SVG file to be
	overwritten! Work in progress...
2004-07-22 19:07:28 +00:00
Sven Neumann d3caf7a3ed app/core/Makefile.am app/core/gimpgradient-load.[ch]
2004-07-22  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpgradient-load.[ch]
	* app/core/gimpgradient-save.[ch]
	* app/core/gimpgradient.[ch]: moved gradient file handling out of
	gimpgradient.c to new files.

	* app/core/gimp.c
	* app/actions/gradients-commands.c: changed accordingly.

	* libgimpcolor/gimpcolor.def: added gimp_rgb_parse_name.
2004-07-22 13:58:29 +00:00
Michael Natterer e7479951b5 app/core/gimpmarshal.list added "gboolean delete" parameter to the
2004-07-21  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpmarshal.list
	* app/widgets/gimpcellrendereraccel.[ch]: added "gboolean delete"
	parameter to the GimpCellRendererAccel::accel_edited() signal.

	* app/widgets/gimpactionview.c: distinguish between deletion of an
	accelerator and the user entering an invalid accelerator.
2004-07-21 14:09:36 +00:00
Michael Natterer 62bf62a151 app/core/gimpmarshal.list app/widgets/Makefile.am
2004-07-21  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpmarshal.list
	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcellrendereraccel.[ch]: new cell renderer
	which displays an accelerator and allows to edit it (ripped
	out of libegg and modified).

	* app/widgets/gimpactionview.c: use the new renderer and connect
	to its "accel-edited" signal (its callback is one huge mess that
	needs to be cleaned up). Added ugly hack to work around GTK+ API
	limitation that seems to prevent implementing a shortcut editor in
	a sane way.

	* app/actions/file-actions.c
	* app/actions/image-actions.c
	* app/actions/tools-actions.c: added ugly hacks here, too.

	* app/gui/preferences-dialog.c: relaced Cancel/Ok in the shortcut
	editor by Close.
2004-07-21 00:39:46 +00:00
Michael Natterer 144d663525 removed unused VOID:UINT,STRING.
2004-07-19  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpmarshal.list: removed unused VOID:UINT,STRING.
2004-07-19 15:34:40 +00:00
Sven Neumann f26d1b8a8c moved variable declarations to the scope they are being used in, removed
2004-07-19  Sven Neumann  <sven@gimp.org>

	* app/core/gimpchannel-combine.c (gimp_channel_combine_ellipse):
	moved variable declarations to the scope they are being used in,
	removed trailing whitespace, minor cleanups.
2004-07-19 14:25:59 +00:00
William Skaggs b48a7cce8f Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpchannel-combine.c: put in two lines accidentally
	omitted in previous change, improve doc comment.
2004-07-19 14:12:30 +00:00
Michael Natterer c5e78fe18a added copyright header, added #defines for access(), F_OK, R_OK and X_OK.
2004-07-19  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpwin32-io.h: added copyright header, added
	#defines for access(), F_OK, R_OK and X_OK.

	* app/core/gimpdata.c: include the above instead of defining
	the workarounds here.

	* app/base/tile-swap.c
	* app/config/gimpconfig-dump.c
	* libgimpthumb/gimpthumb-utils.c
	* libgimpthumb/gimpthumbnail.c: for consistency, #include
	gimpwin32-io.h with "" instead of <>.
2004-07-19 13:22:44 +00:00
Michael Natterer fe23211092 comments not intended for gtk-doc must not start with '/**'.
2004-07-19  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel-combine.c (gimp_channel_combine_ellipse):
	comments not intended for gtk-doc must not start with '/**'.
2004-07-19 12:43:40 +00:00
Michael Natterer 9357713a2b removed GimpConfigInterface typedef, added comments to typedefs which
2004-07-19  Michael Natterer  <mitch@gimp.org>

	* app/config/config-types.h: removed GimpConfigInterface typedef,
	added comments to typedefs which don't belong here.

	* app/config/gimpconfig.h: added GimpConfigInterface typedef.

	* app/core/core-types.h
	* app/display/display-types.h: added commented out typedefs for
	types that live in config-types.h for obscure reasons.

	* app/core/core-types.h: reordered stuff to match the order in the
	API docs (makes keeping stuff in sync much easier).
2004-07-19 11:33:59 +00:00