gimp/app
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
..
actions register the GIMP_STOCK_VISIBLE icon with the "view" action group. 2004-07-28 20:45:02 +00:00
base added still unused flags type GimpDirtyMask. 2004-07-28 11:50:20 +00:00
composite now that the output depends on --verbose, enable it for stable releases 2004-07-20 16:55:39 +00:00
config Enabled disabling all menu mnemonics. Addresses bug #120034: 2004-07-27 22:17:30 +00:00
core Replaced the concept of having a boolean indicating if an undo step 2004-07-29 14:16:21 +00:00
dialogs renamed "Cleared saved foobar now" buttons to "Reset saves foobar to 2004-07-29 01:19:12 +00:00
display Replaced the concept of having a boolean indicating if an undo step 2004-07-29 14:16:21 +00:00
file don't crash if no layer or only one layer is visible. Fixes bug #143804. 2004-07-15 10:37:03 +00:00
gui renamed "Cleared saved foobar now" buttons to "Reset saves foobar to 2004-07-29 01:19:12 +00:00
menus Enabled the various "Clear saved foobar now" buttons in prefs: 2004-07-21 16:11:31 +00:00
paint added still unused flags type GimpDirtyMask. 2004-07-28 11:50:20 +00:00
paint-funcs don't scan app/paint-funcs/paint-funcs-types.h for enums. 2004-07-05 21:39:54 +00:00
pdb fix typo in parameter description. 2004-07-28 15:12:45 +00:00
plug-in removed obsolete compile-time check for GLIB >= 2.3.5. 2004-07-19 12:20:27 +00:00
text added still unused flags type GimpDirtyMask. 2004-07-28 11:50:20 +00:00
tools Replaced the concept of having a boolean indicating if an undo step 2004-07-29 14:16:21 +00:00
vectors reordered to match the .c file. 2004-07-14 23:14:49 +00:00
widgets removed enums GimpImageType and GimpImageBaseType ... 2004-07-29 12:33:15 +00:00
xcf libgimpbase/Makefile.am libgimpbase/gimpbase.h libgimpbase/gimpbase.def 2004-07-27 16:39:00 +00:00
.cvsignore removed hack for gimp-console compilation. automake seems to handle it 2004-07-12 22:34:37 +00:00
Makefile.am removed hack for gimp-console compilation. automake seems to handle it 2004-07-12 22:34:37 +00:00
airbrush.c prototype for an extension that allows gmodules as plugins. Known bug: 2001-02-14 04:55:21 +00:00
app_procs.c use #ifdef GIMP_UNSTABLE instead of looking at GIMP_MINOR_VERSION. 2004-07-26 10:44:25 +00:00
app_procs.h Made the gimp-console binary compile. Finishes core/GUI separation and 2004-07-12 14:32:31 +00:00
batch.c Get rid of the "current_context" which was in fact just a bunch of global 2004-04-14 23:37:34 +00:00
batch.h renamed batch_init() to batch_run(). Install an Gimp::exit handler while 2003-11-30 14:44:13 +00:00
errors.c Added a conditional definition of the preprocessor symbol GIMP_UNSTABLE if 2004-02-05 00:34:50 +00:00
errors.h unref the gimp object after dumping the configuration as a test for 2003-11-17 00:17:01 +00:00
gimp-intl.h Makefile.am removed this header file. 2003-03-25 16:38:19 +00:00
gimp.rc Second batch of Win32 merge. 1999-03-07 12:56:03 +00:00
main.c use #ifdef GIMP_UNSTABLE instead of looking at GIMP_MINOR_VERSION. 2004-07-26 10:44:25 +00:00
makefile.msc updated app/actions/makefile.msc app/menus/makefile.msc : (new files) 2004-07-11 21:53:17 +00:00
paint_core.h prototype for an extension that allows gmodules as plugins. Known bug: 2001-02-14 04:55:21 +00:00
paint_options.h prototype for an extension that allows gmodules as plugins. Known bug: 2001-02-14 04:55:21 +00:00
plug_in_cmds.c Garry R. Osgood <grosgood@rcn.com> 2001-03-11 13:15:41 +00:00
sanity.c removed the gtk+ sanity check here ... 2004-07-12 13:22:28 +00:00
sanity.h removed the gtk+ sanity check here ... 2004-07-12 13:22:28 +00:00
transform_core.c prototype for an extension that allows gmodules as plugins. Known bug: 2001-02-14 04:55:21 +00:00
units.c libgimpbase/Makefile.am libgimpbase/gimpbase-private.[ch] new files 2003-11-15 22:53:28 +00:00
units.h libgimpbase/Makefile.am libgimpbase/gimpbase-private.[ch] new files 2003-11-15 22:53:28 +00:00
wilber.ico Second batch of Win32 merge. 1999-03-07 12:56:03 +00:00