1. 11 Jul, 2018 1 commit
  2. 01 Jan, 2018 1 commit
  3. 19 May, 2016 1 commit
  4. 14 Oct, 2013 1 commit
    • Michael Natterer's avatar
      app,libgimp*: fix includes to follow our include policy · 697572cc
      Michael Natterer authored
      - don't include <gdk-pixbuf/gdk-pixbuf.h> in headers in app/
      - instead, include it in many .c files instead of <glib-object.h>,
        finally acknowledging the fact that app/ depends on gdk-pixbuf almost
      - fix up includes as if libgimpbase depended in GIO, which it soon will
  5. 02 May, 2012 1 commit
  6. 09 Feb, 2010 1 commit
  7. 04 Feb, 2010 1 commit
  8. 03 Feb, 2010 1 commit
  9. 03 Jul, 2009 1 commit
  10. 17 Jan, 2009 1 commit
    • Michael Natterer's avatar
      Change licence to GPLv3 (and to LGPLv3 for libgimp). · d9b5207a
      Michael Natterer authored
      2009-01-17  Michael Natterer  <mitch@gimp.org>
      	* all files with a GPL header and all COPYING files:
      	Change licence to GPLv3 (and to LGPLv3 for libgimp).
      	Cleaned up some copyright headers and regenerated the parsers in
      	the ImageMap plugin.
      svn path=/trunk/; revision=27913
  11. 20 Nov, 2008 1 commit
    • Martin Nordholts's avatar
      s/gimp_container_children_type/gimp_container_get_children_type/ · 5aeb5686
      Martin Nordholts authored
      * app/actions/actions.c
      * app/actions/file-actions.c
      * app/actions/file-commands.c
      * app/actions/tool-options-actions.c
      * app/actions/tools-actions.c
      * app/actions/tools-commands.c
      * app/actions/vectors-actions.c
      * app/core/gimpcontainer-filter.c
      * app/core/gimpcontainer.c
      * app/core/gimpcontainer.h
      * app/core/gimpimage-convert.c
      * app/core/gimpimage-flip.c
      * app/core/gimpimage-merge.c
      * app/core/gimpimage-resize.c
      * app/core/gimpimage-rotate.c
      * app/core/gimpimage-scale.c
      * app/core/gimpimage-undo.c
      * app/core/gimpimage.c
      * app/core/gimpimagefile.c
      * app/core/gimplist.c
      * app/core/gimpundostack.c
      * app/dialogs/palette-import-dialog.c
      * app/dialogs/quit-dialog.c
      * app/display/gimpdisplay.c
      * app/display/gimpdisplayshell-layer-select.c
      * app/display/gimpdisplayshell-title.c
      * app/gui/gui-vtable.c
      * app/menus/tool-options-menu.c
      * app/tools/gimp-tools.c
      * app/widgets/gimpcontrollerlist.c
      * app/widgets/gimpimagepropview.c
      * app/widgets/gimpsettingsbox.c
      * app/widgets/gimpviewablebutton.c
      * app/xcf/xcf-load.c
      * app/xcf/xcf-save.c
      svn path=/trunk/; revision=27692
  12. 19 Nov, 2008 1 commit
    • Michael Natterer's avatar
      remove members "quick_mask_changed" and "alpha_changed" (the former was · 37cff850
      Michael Natterer authored
      2008-11-20  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimpundo.h (struct GimpUndoAccumulator): remove members
      	"quick_mask_changed" and "alpha_changed" (the former was unused
      	and the latter is entirely handled by the image's flush
      	accumulator now.
      	* app/core/gimpimage-undo.c
      	* app/core/gimplayerundo.c: changed accordingly.
      svn path=/trunk/; revision=27690
  13. 09 Nov, 2008 1 commit
    • Michael Natterer's avatar
      remove floating_sel_remove() and reorder one function. · 1cdf6c5b
      Michael Natterer authored
      2008-11-09  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimplayer-floating-sel.[ch]: remove
      	floating_sel_remove() and reorder one function.
      	* app/core/gimpimage.c (gimp_image_remove_layer): add the single
      	line of special code that needs to be done when removing a
      	floating selection.
      	* app/core/gimpselection.c
      	* app/actions/layers-commands.c
      	* tools/pdbgen/pdb/floating_sel.pdb: changed accordingly.
      	* app/pdb/floating-sel-cmds.c: regenerated.
      	* app/core/core-enums.[ch]
      	* app/core/gimpimage-undo.c: remove enum value
      svn path=/trunk/; revision=27583
  14. 09 Oct, 2008 1 commit
    • Michael Natterer's avatar
      Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h had a · 5503e6a0
      Michael Natterer authored
      2008-10-09  Michael Natterer  <mitch@gimp.org>
      	Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h
      	had a GEGL dependency (they will have in the next commit, but I
      	wanted to keep the commit separate).
      	* app/dialogs/Makefile.am
      	* app/file/Makefile.am
      	* app/gui/Makefile.am
      	* app/menus/Makefile.am
      	* app/paint/Makefile.am
      	* app/plug-in/Makefile.am
      	* app/text/Makefile.am
      	* app/vectors/Makefile.am
      	* app/widgets/Makefile.am
      	* app/xcf/Makefile.am: add GEGL_CFLAGS.
      	* app/actions/*.c
      	* app/core/*.c
      	* app/dialogs/*.c
      	* app/display/*.c
      	* app/file/*.c
      	* app/gui/*.c
      	* app/menus/*.c
      	* app/paint/*.c
      	* app/pdb/gimppdb-utils.c
      	* app/pdb/gimpprocedure.c
      	* app/plug-in/*.c
      	* app/text/*.c
      	* app/tools/*.c
      	* app/vectors/*.c
      	* app/widgets/*.c
      	* app/xcf/*.c: add <gegl.h> or replace <glib-object.h> by <gegl.h>
      	to all files which include a drawable subclass or gimpimage.h
      	* tools/pdbgen/app.pl: include <gegl.h> instead of <glib-object.h>
      	in all generated files.
      	* app/pdb/*-cmds.c: regenerated.
      	* data/images/gimp-splash.png: the goat is still sleeping.
      	By Aurore Derriennic.
      svn path=/trunk/; revision=27202
  15. 28 Aug, 2008 1 commit
    • Martin Nordholts's avatar
      Make the size-changed-detailed signal also contain previous image size. · 2975f815
      Martin Nordholts authored
      2008-08-28  Martin Nordholts  <martinn@svn.gnome.org>
      	* app/core/gimpimage.[ch]: Make the size-changed-detailed signal
      	also contain previous image size.
      	* app/display/gimpdisplayshell-handlers.c
      	(gimp_display_shell_size_changed_detailed_handler): Take the
      	previous image size into account and center the image if it starts
      	to fit (axis indepentently) in the viewport due to the resize.
      	* app/core/gimpundo.h
      	* app/core/gimpimage-undo.c
      	* app/core/gimpimageundo.[ch]
      	* app/core/gimpimage-undo-push.[ch]: Manage the
      	* app/core/gimpimage-crop.c
      	* app/core/gimpimage-scale.c
      	* app/core/gimpimage-rotate.c
      	* app/core/gimpimage-resize.c: Propagate previous size to the
      	size-changed-detailed signal emission and the undo-system.
      svn path=/trunk/; revision=26804
  16. 04 Aug, 2008 1 commit
    • Michael Natterer's avatar
      :size-changed-detailed): change double to int in signal parameters. · 26c2c6af
      Michael Natterer authored
      2008-08-04  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimpimage.[ch] (GimpImage::size-changed-detailed):
      	change double to int in signal parameters.
      	Remove gimp_image_emit_size_changed_signals() and call
      	gimp_viewable_size_changed() in size-changed-detailed's default
      	* app/core/gimpimageundo.[ch]
      	* app/core/gimpimage-undo-push.[ch]: change double to int in
      	previous-origin related code.
      	* app/core/gimpimage-undo.c
      	* app/core/gimpimage-scale.c
      	* app/core/gimpimage-crop.c
      	* app/core/gimpimage-rotate.c
      	* app/core/gimpimage-resize.c: call gimp_image_size_changed_detailed()
      	instead of the removed gimp_image_emit_size_changed_signals()
      	* app/display/gimpdisplayshell-scroll.[ch]: remove
      	gimp_display_shell_handle_size_changed_detailed() because it
      	handles both scrolling and scaling and doesn't belong here.
      	* app/display/gimpdisplayshell-handlers.c: moved its code back to
      	gimp_display_shell_size_changed_detailed_handler() and follow the
      	double -> int change above.
      svn path=/trunk/; revision=26367
  17. 03 Aug, 2008 1 commit
    • Martin Nordholts's avatar
      Further work for completing bug #362915 that makes changes to the image · 6c48f2b6
      Martin Nordholts authored
      2008-08-03  Martin Nordholts  <martinn@svn.gnome.org>
      	Further work for completing bug #362915 that makes changes to the
      	image size (e.g when cropping) be much more nicely handled by
      	display shell.
      	* app/core/gimpimage.[ch]: Add new signal
      	GimpImage::size-changed-detailed that is emited whenever
      	GimpViewable::size-changed is. The new signal provides additional
      	information, namely the previous origin relative to the current
      	origin. Cliens choose what specific signal to listen to depending
      	on how much info they need.
      	* app/display/gimpdisplayshell-handlers.c: Connect to
      	GimpImage::size-changed-detailed instead of
      	GimpViewable::size-changed since the shell wants information about
      	the previous image origin.
      	(gimp_display_shell_resolution_changed_handler): Use
      	gimp_display_shell_scale_resize() instead to avoid display
      	* app/display/gimpdisplayshell-scale.[ch]: Add new utility
      	function gimp_display_shell_center_image_on_next_size_allocate().
      	* app/display/gimpdisplayshell-scroll.[ch]
      	(gimp_display_shell_handle_size_changed_detailed): New function
      	that replaces logic in gimp_display_shell_handle_size_changed and
      	that takes previous-origin of the image into account and adjusts
      	the offset so that the image content that remains doesn't move. If
      	the window is resized on image resize, just center the image
      	* app/core/gimpimage-undo-push.[ch]
      	(gimp_image_undo_push_image_size): Add previous-origin paremeters.
      	* app/core/gimpimageundo.[ch]: Add and manage previous-origin
      	properties so that the display shell offset can be appropriately
      	adjusted also when undoing.
      	* app/core/gimpundo.h
      	* app/core/gimpimage-undo.c: Add previous_origin members to the
      	undo accumulator and emit that information when the size of the
      	image changes due to the undo.
      	* app/core/gimpimage-crop.c (gimp_image_crop)
      	* app/core/gimpimage-scale.c (gimp_image_scale)
      	* app/core/gimpimage-rotate.c (gimp_image_rotate)
      	* app/core/gimpimage-resize.c (gimp_image_resize_with_layers):
      	Supply information about the previous-origin of the image to the
      	size-changed signals and the undo system.
      svn path=/trunk/; revision=26354
  18. 24 Jan, 2008 1 commit
  19. 03 Feb, 2007 1 commit
    • Michael Natterer's avatar
      Remove support for the old undo pop and free cruft: · bdc91d6c
      Michael Natterer authored
      2007-02-03  Michael Natterer  <mitch@gimp.org>
      	Remove support for the old undo pop and free cruft:
      	* app/core/core-types.h: remove typedefs GimpUndoPopFunc and
      	* app/core/gimpundo.[ch]: remove members and properties size,
      	data, pop_func and free_func.
      	* app/core/gimpimage-undo.[ch] (gimp_image_undo_push): remove
      	parameters size, struct_size, pop_func and free_func.
      	* app/core/gimpimage-undo-push.c
      	* app/tools/gimptransformtool.c
      	* app/paint/gimpink.c
      	* app/paint/gimppaintcore.c: change calls to above function
      svn path=/trunk/; revision=21845
  20. 29 Jan, 2007 1 commit
    • Michael Natterer's avatar
      app/core/core-enums.[ch] drop the "image" from GIMP_UNDO_IMAGE_GUIDE, · dcee3d60
      Michael Natterer authored
      2007-01-30  Michael Natterer  <mitch@gimp.org>
      	* app/core/core-enums.[ch]
      	* app/core/gimpimage-undo-push.[ch]: drop the "image" from
      	gimp_imge_undo_push_image_guide() and
      	* app/core/gimpimage-undo.c
      	* app/core/gimpimage-guides.c
      	* app/core/gimpimage-scale.c
      	* app/core/gimpimage-sample-points.c
      	* app/core/gimpimage-rotate.c
      	* app/tools/gimpmeasuretool.c: changed accordingly.
      svn path=/trunk/; revision=21804
  21. 09 Dec, 2006 1 commit
  22. 21 Oct, 2006 1 commit
    • Michael Natterer's avatar
      Added "Edit -> Fade" which allows to modify the paint mode and opacity of · e634d4d7
      Michael Natterer authored
      2006-10-21  Michael Natterer  <mitch@gimp.org>
      	Added "Edit -> Fade" which allows to modify the paint mode and
      	opacity of the last drawable operation (fill, plugins etc.).
      	Started from a patch by Bill Skaggs. Fixes bug #170707.
      	* app/base/base-enums.[ch] (enum GimpLayerModeEffects): register
      	the values REPLACE_MODE, ERASE_MODE and ANTI_ERASE_MODE with
      	the type system.
      	* app/widgets/gimppropwidgets.[ch]
      	* app/widgets/gimpwidgets-constructors.[ch]: added "gboolean
      	with_replace_modes" to the paint mode menu constructors.
      	* app/tools/gimppaintoptions-gui.c
      	* app/widgets/gimpbrushselect.c
      	* app/widgets/gimplayertreeview.c: pass with_replace_modes = FALSE.
      	* app/core/gimpdrawableundo.[ch]: added members which keep tiles,
      	paint mode and opacity of the pasted pixels.
      	* app/core/gimpimage-undo.[ch] (gimp_image_undo_get_fadeable):
      	returns a GimpUndo suitable for a fade operation, or NULL.
      	* app/core/gimp-edit.[ch] (gimp_edit_fade): implements the actual
      	fade by undoing the last operation and then re-applying the pixels
      	with different paint mode and opacity.
      	* app/core/gimpdrawable-combine.c: store the pasted pixels in
      	the GimpDrawableUndo.
      	* app/actions/edit-actions.c
      	* app/actions/edit-commands.[ch]: action and callback for fade.
      	* app/dialogs/Makefile.am
      	* app/dialogs/fade-dialog.[ch]: the fade dialog.
      	* app/widgets/gimphelp-ids.h: the fade help ID.
      	* menus/image-menu.xml.in: added a menu entry in "Edit".
  23. 13 Jun, 2006 1 commit
    • William Skaggs's avatar
      Bill Skaggs <weskaggs@primate.ucdavis.edu> · 701b7b31
      William Skaggs authored
      	Finally implemented the suggestion in bug #144854, of
      	"strong" undo/redo commands that continue undoing so long
      	as they only encounter visibility changes.
      	* app/actions/edit-actions.c
      	* app/actions/edit-commands.c
      	* app/actions/edit-commands.h: added "strong undo"
      	and "strong redo" commands/actions.
      	* app/core/gimpimage-undo.[ch]: added functions
      	gimp_image_strong_undo() and gimp_image_strong_redo().
      	* app/core/gimpundo.[ch]: added utility function
      	* app/widgets/gimphelp-ids.h:added id's.
      	* menus/image-menu.xml.in: added to edit menu,
      	bound to C-S-z and C-S-y.
      	This will no doubt need tweaking, but I will consider it
      	to fix bug #144854.
  24. 28 Mar, 2006 1 commit
  25. 19 Sep, 2005 1 commit
    • Michael Natterer's avatar
      Did a global s/qmask/quick-mask/: · 1adf3d71
      Michael Natterer authored
      2005-09-19  Michael Natterer  <mitch@gimp.org>
      	Did a global s/qmask/quick-mask/:
      	* app/actions/qmask-actions.[ch]
      	* app/actions/qmask-commands.[ch]
      	* app/core/gimpimage-qmask.[ch]
      	* menus/qmask-menu.xml
      	* themes/Default/images/stock-qmask-off-16.png
      	* themes/Default/images/stock-qmask-on-16.png: removed.
      	* app/actions/quick-mask-actions.[ch]
      	* app/actions/quick-mask-commands.[ch]
      	* app/core/gimpimage-quick-mask.[ch]
      	* menus/quick-mask-menu.xml
      	* themes/Default/images/stock-quick-mask-off-16.png
      	* themes/Default/images/stock-quick-mask-on-16.png: added.
      	* app/actions/Makefile.am
      	* app/actions/actions.c
      	* app/core/Makefile.am
      	* app/core/core-enums.[ch]
      	* app/core/gimpchannel.c
      	* app/core/gimpimage-duplicate.c
      	* app/core/gimpimage-undo.c
      	* app/core/gimpimage.[ch]
      	* app/core/gimpundo.[ch]
      	* app/display/gimpdisplayshell-appearance.c
      	* app/display/gimpdisplayshell-callbacks.[ch]
      	* app/display/gimpdisplayshell-handlers.c
      	* app/display/gimpdisplayshell.[ch]
      	* app/menus/menus.c
      	* app/widgets/gimphelp-ids.h
      	* libgimpwidgets/gimpstock.[ch]
      	* menus/Makefile.am
      	* menus/image-menu.xml.in
      	* themes/Default/images/Makefile.am: changed accordingly.
  26. 03 Aug, 2004 1 commit
    • Michael Natterer's avatar
      new function which checks if undo compression is possible: · b909c2b2
      Michael Natterer authored
      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.
  27. 29 Jul, 2004 1 commit
    • Michael Natterer's avatar
      Replaced the concept of having a boolean indicating if an undo step · 4b582b48
      Michael Natterer authored
      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...
  28. 14 Jul, 2004 1 commit
    • Michael Natterer's avatar
      added properties "gimp", "id", "width", "height" and "base-type". Moved · 87b5322f
      Michael Natterer authored
      2004-07-14  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimpimage.c: added properties "gimp", "id", "width",
      	"height" and "base-type". Moved all code from gimp_image_new()
      	to GObject::constructor().
      	* app/core/gimpimage-convert.c
      	* app/core/gimpimage-crop.c
      	* app/core/gimpimage-resize.c
      	* app/core/gimpimage-rotate.c
      	* app/core/gimpimage-scale.c
      	* app/core/gimpimage-undo-push.c: set "width", "height" and
      	"base-type" with g_object_set() so "notify" is emitted on the
      	* app/core/gimpimage-undo.c (gimp_image_undo_pop_stack):
      	freeze/thaw property notifications around undoing/redoing so they
      	are not emitted in the middle of the undo operation.
  29. 13 Jul, 2004 1 commit
  30. 12 Jul, 2004 1 commit
    • Michael Natterer's avatar
      app/core/gimpundo.[ch] app/core/gimpitemundo.[ch] removed all _new() · da74f126
      Michael Natterer authored
      2004-07-12  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimpundo.[ch]
      	* app/core/gimpitemundo.[ch]
      	* app/text/gimptextundo.[ch]: removed all _new() functions and
      	added properties and GObject::constructor() implementations
      	* app/core/gimpimage-undo.[ch] (gimp_image_undo_push): added
      	"GType undo_gtype" parameter and allow to pass name-value pairs as
      	"...". Une the new GParameter utility functions to construct the
      	appropriate undo step with g_object_newv().
      	(gimp_image_undo_push_item): removed.
      	(gimp_image_undo_push_undo): removed. Merged its code back into
      	gimp_image_undo_push(), where it originally came from.
      	* app/core/gimpimage-undo-push.c
      	* app/core/gimpundostack.c
      	* app/paint/gimppaintcore-undo.c
      	* app/tools/gimptransformtool-undo.c
      	* app/widgets/gimpundoeditor.c: changed accordingly.
  31. 07 Jul, 2004 1 commit
    • Michael Natterer's avatar
      Made the undo system robust against the currently pushed undo being too · 525a98f8
      Michael Natterer authored
      2004-07-07  Michael Natterer  <mitch@gimp.org>
      	Made the undo system robust against the currently pushed undo
      	being too large according to prefs settings. Fixes bug #145379.
      	* app/core/gimpimage-undo.[ch] (gimp_image_undo_push_undo)
      	(gimp_image_undo_group_end): emit "undo-event" *before* calling
      	gimp_image_undo_free_space() so the undo history doesn't try to
      	remove an item that has never been added.
      	(gimp_image_undo_push_undo): added boolean return value indicating
      	if the undo could be pushed (FALSE means the undo was to large
      	and was discarded right away).
      	(gimp_image_undo_push_item): return NULL if the above returned
      	* app/core/gimpimage-undo-push.c (gimp_image_undo_push_text_layer):
      	changed accordingly.
  32. 21 Mar, 2004 1 commit
    • Sven Neumann's avatar
      added gimp_undo_type_to_name() a similar function used to live in · 2326e1b9
      Sven Neumann authored
      2004-03-21  Sven Neumann  <sven@gimp.org>
      	* app/core/gimpundo.[ch]: added gimp_undo_type_to_name() a similar
      	function used to live in gimpimage-undo.[ch].
      	* app/core/gimpitemundo.c (gimp_item_undo_new): allow NULL as name
      	and generate it from the undo_type then.
      	* app/core/gimpimage-undo.[ch]: added gimp_image_undo_push_undu(),
      	new function that allows to push an undo on the image.
      	* app/text/Makefile.am
      	* app/text/text-types.h
      	* app/text/gimptextundo.[ch]: added GimpTextUndo, derived from
      	* app/core/gimpimage-undo-push.c (gimp_image_undo_push_text_layer):
      	use the new code and simply push a text undo here.
      	* app/tools/gimptexttool.c: compress text undos by peeking at the
      	undo stack. Fixes bug #137766.
  33. 14 Mar, 2004 2 commits
    • Simon Budig's avatar
      app/core/gimpimage.[ch] renamed gimage->freeze_count to · dfd41249
      Simon Budig authored
      2004-03-15  Simon Budig  <simon@gimp.org>
      	* app/core/gimpimage.[ch]
      	* app/core/gimpimage-undo.c: renamed gimage->freeze_count
      	to gimage->undo_freeze_count (more explicit).
      	* app/file/file-open.c: Ensure that the undo system is enabled
      	after loading an image (to protect against broken loaders).
    • Simon Budig's avatar
      app/core/gimpimage.[ch] introduced a freeze counter, so that · 657bd9ff
      Simon Budig authored
      2004-03-14  Simon Budig  <simon@gimp.org>
      	* app/core/gimpimage.[ch]
      	* app/core/gimpimage-undo.c: introduced a freeze counter, so
      	that undo_freeze(); undo_freeze(); undo_thaw(); no longer
      	results in an thawed undo stack.
      	Fixes Bug #124176.
      	This might reveal other places in the code where
      	gimp_image_undo_freeze/thaw or gimp_image_undo_disable/enable
      	were used in an inconsistent (not-paired) manner.
      	* app/file/file-open.c: e.g. here, where _enable was called on
      	the new image. The intention was to free a potential undo stack,
      	so now call gimp_image_undo_free() instead.
  34. 16 Nov, 2003 1 commit
    • Sven Neumann's avatar
      app/config/gimpbaseconfig.h use gint64 for all memsize properties. · fd30d5c9
      Sven Neumann authored
      2003-11-16  Sven Neumann  <sven@gimp.org>
      	* app/config/gimpbaseconfig.h
      	* app/config/gimpcoreconfig.h: use gint64 for all memsize properties.
      	* app/base/tile-manager.[ch] (tile_manager_get_memsize): since
      	tiles can be swapped out, a tilemanager can be larger than gsize
      	(on 32bit platforms). Use a gint64 to avoid an overflow.
      	* app/core/gimp.c
      	* app/core/gimpbrush.c
      	* app/core/gimpbrushpipe.c
      	* app/core/gimpbuffer.c
      	* app/core/gimpchannel.c
      	* app/core/gimpcontainer.c
      	* app/core/gimpcontext.c
      	* app/core/gimpdata.c
      	* app/core/gimpdatafactory.c
      	* app/core/gimpdrawable.c
      	* app/core/gimpgradient.c
      	* app/core/gimpimage-undo-push.c
      	* app/core/gimpimage-undo.[ch]
      	* app/core/gimpimage.c
      	* app/core/gimpitem.c
      	* app/core/gimpitemundo.[ch]
      	* app/core/gimplayer.c
      	* app/core/gimplist.c
      	* app/core/gimpobject.[ch]
      	* app/core/gimppalette.c
      	* app/core/gimpparasitelist.c
      	* app/core/gimppattern.c
      	* app/core/gimpundo.[ch]
      	* app/core/gimpundostack.c
      	* app/core/gimpviewable.c
      	* app/text/gimptext.c
      	* app/text/gimptextlayer.c
      	* app/vectors/gimpstroke.c
      	* app/vectors/gimpvectors.c: use gint64 for gimp_object_get_memsize()
      	and all its implementations.
      	* app/display/gimpdisplayshell-title.c
      	* app/gui/info-window.c: changed accordingly.
  35. 06 Oct, 2003 1 commit
    • Michael Natterer's avatar
      Treat changes to the selection like changes to any other drawable: · f0372cad
      Michael Natterer authored
      2003-10-06  Michael Natterer  <mitch@gimp.org>
      	Treat changes to the selection like changes to any other drawable:
      	* app/core/gimpchannel.c
      	* app/core/gimpchannel-combine.c: call gimp_drawable_update() after
      	changing the channel.
      	* app/core/gimpimage.[ch]: added struct GimpImageFlushAccumulator
      	with one member "gboolean mask_changed". Connect to "update" of
      	the selection and set accum.mask_changed to TRUE in the callback.
      	Added default implementation for GimpImage::flush() and emit
      	"mask_changed" there.
      	* app/core/gimpimage.h: removed GimpGuide struct...
      	* app/core/gimpimage-guides.h: ...and added it here.
      	* app/core/gimpimage-undo-push.c (undo_pop_mask)
      	(undo_pop_channel_mod): don't distinguish between selection and
      	non-selection channels and just call gimp_drawable_update().
      	* app/core/gimpundo.h
      	* app/core/gimpimage-undo.c: removed "gboolean mask_changed" from
      	the GimpUndoAccumulator struct since we don't have to care about
      	that signal explicitly any more.
      	* app/display/gimpdisplay-foreach.[ch]: removed gimp_displays_flush().
      	* tools/pdbgen/pdb/display.pdb (displays_flush_invoker): call
      	gimp_image_flush() on all images so the flush accumulator is
      	This generalization enables the removal of more special purpose
      	code which was needed to treat the selection different:
      	* app/core/gimpimage-mask-select.[ch]: removed...
      	* app/core/gimpchannel-select.[ch]: ...and added under a new name
      	because it's not selection specific any more.
      	* app/core/gimpimage-mask.[ch]: removed...
      	* app/core/gimpselection.[ch]: ...added the two remaining
      	functions here. Removed all calls to gimp_image_mask_changed().
      	* app/core/Makefile.am
      	* app/core/gimp-edit.c
      	* app/core/gimpdrawable-transform.c
      	* app/core/gimpimage-scale.c
      	* app/core/gimpimage-snap.c
      	* app/display/gimpdisplayshell.c
      	* app/gui/channels-commands.c
      	* app/gui/layers-commands.c
      	* app/gui/select-commands.c
      	* app/gui/vectors-commands.c
      	* app/tools/gimpbycolorselecttool.c
      	* app/tools/gimpeditselectiontool.c
      	* app/tools/gimpellipseselecttool.c
      	* app/tools/gimpfreeselecttool.c
      	* app/tools/gimpfuzzyselecttool.c
      	* app/tools/gimpiscissorstool.c
      	* app/tools/gimprectselecttool.c
      	* app/tools/gimptransformtool.c
      	* app/widgets/gimpchanneltreeview.c
      	* app/widgets/gimpselectioneditor.c
      	* app/widgets/gimpvectorstreeview.c
      	* app/xcf/xcf-save.c
      	* tools/pdbgen/pdb/paths.pdb
      	* tools/pdbgen/pdb/selection.pdb
      	* tools/pdbgen/pdb/selection_tools.pdb: changed accordingly.
      	* app/core/gimpdrawable-bucket-fill.c
      	* app/core/gimpimage-colormap.c
      	* app/core/gimplayer-floating-sel.c
      	* app/core/gimplayer.c
      	* app/gui/image-menu.c
      	* app/paint/gimppaintcore.c
      	* app/tools/gimpcroptool.c
      	* app/tools/gimpinkoptions.c
      	* app/tools/gimpvectortool.c: removed useless and/or obsolete
      	* app/pdb/display_cmds.c
      	* app/pdb/paths_cmds.c
      	* app/pdb/selection_cmds.c
      	* app/pdb/selection_tools_cmds.c: regenerated.
  36. 25 Aug, 2003 1 commit
    • Michael Natterer's avatar
      changed GimpObject::get_memsize() to return a second value named · 24f3da16
      Michael Natterer authored
      2003-08-25  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimpobject.[ch]: changed GimpObject::get_memsize() to
      	return a second value named "gui_size", where the primary return
      	value is the "constant" actual size (as long as no operation is
      	performed on the object), and the second "gui_size" return value
      	is the size of temporary stuff like preview caches or boundary
      	segments (which may change asynchronously, even if the object is
      	on the undo stack).
      	* app/core/gimp.c
      	* app/core/gimpbrush.c
      	* app/core/gimpbrushpipe.c
      	* app/core/gimpbuffer.c
      	* app/core/gimpchannel.c
      	* app/core/gimpcontainer.c
      	* app/core/gimpcontext.c
      	* app/core/gimpdata.c
      	* app/core/gimpdatafactory.c
      	* app/core/gimpdrawable.c
      	* app/core/gimpgradient.c
      	* app/core/gimpimage-undo.c
      	* app/core/gimpimage.c
      	* app/core/gimpitem.c
      	* app/core/gimplayer.c
      	* app/core/gimplist.c
      	* app/core/gimppalette.c
      	* app/core/gimpparasitelist.c
      	* app/core/gimppattern.c
      	* app/core/gimpundo.c
      	* app/core/gimpundostack.c
      	* app/core/gimpviewable.c
      	* app/text/gimptextlayer.c
      	* app/vectors/gimpstroke.c
      	* app/vectors/gimpvectors.c: changed get_memsize() implementations
      	* app/display/gimpdisplayshell-title.c
      	* app/gui/debug-commands.c
      	* app/widgets/gimppreview.c: changed callers accordingly.
      	* app/core/gimpimage-undo-push.c: changed layer, channel, vectors
      	and layer_mask undo steps to add/subtract the size of the
      	resp. objects whenever they take/drop ownership of them. Ignore
      	the objects' "gui_size" to get identical sizes on
      	adding/subtracting. Fixes bug #120429.
  37. 17 Mar, 2003 1 commit
    • Michael Natterer's avatar
      Made drawable/layer properties (visibility, opacity etc.) undoable (fixes · 884b3aa7
      Michael Natterer authored
      2003-03-17  Michael Natterer  <mitch@gimp.org>
      	Made drawable/layer properties (visibility, opacity etc.)
      	undoable (fixes bug #73893).
      	* app/core/core-enums.[ch]: added undo types/groups for
      	visibility, mode, opacity, linked and preserve_trans.
      	* app/core/Makefile.am
      	* app/core/core-types.h
      	* app/core/gimpitemundo.[ch]: new GimpUndo subclass which holds a
      	ref'ed GimpItem pointer so (1) this doesn't need to be done by all
      	undo steps related to an item and (2) the item the undo step is
      	for can be determined from outside the undo system.
      	* app/core/gimpimage-undo.[ch]: added gimp_image_undo_push_item()
      	which returns a new GimpItemUndo.
      	* app/core/gimpimage-undo-push.[ch]: use it for all item related
      	undo steps. Removed lots of GimpItem, GimpLayer, GimpDrawable
      	and GimpVectors pointers from the private undo structs. Added
      	undo push functions for the new undo types added above.
      	* app/core/gimpdrawable.[ch] (gimp_drawable_set_visible): added
      	"gboolean push_undo" parameter.
      	* app/core/gimplayer.[ch] (gimp_layer_set_opacity, _mode,
      	_preserve_trans, _linked): added "gboolean push_undo" parameters.
      	* app/core/gimpimage-mask.c
      	* app/core/gimpimage-merge.c
      	* app/core/gimplayer-floating-sel.c
      	* app/tools/gimpmovetool.c
      	* app/xcf/xcf-load.c
      	* app/widgets/gimpdrawablelistitem.c
      	* app/widgets/gimplayerlistitem.c
      	* app/widgets/gimplayerlistview.c: changed accordingly.
      	* tools/pdbgen/pdb/channel.pdb
      	* tools/pdbgen/pdb/layer.pdb: ditto. Added '$undo' paramaters to
      	the foo_accessors() functions. Removed $func from foo_accesors()
      	because we don't manipulate items without using getters/setters
      	any longer.
      	* app/pdb/channel_cmds.c
      	* app/pdb/layer_cmds.c: regenerated.
      	* app/widgets/gimpcellrenderertoggle.[ch]: added "clicked" signal
      	which carries an additional "GdkModifierType state" parameter as
      	in GimpCellRendererViewable .
      	* app/widgets/gimpcontainertreeview.c: emit "clicked" from
      	the toggle renderer, not "toggled" so the callbacks get the
      	modifier state.
      	* app/widgets/gimpdrawabletreeview.c: resurrected the "exclusive
      	visible by <shift>+click" feature as in 1.2.
      	* app/widgets/gimplayertreeview.c: compress layer opacity undos by
      	looking at the top of the undo stack and not pushing an undo if
      	there already is a GIMP_UNDO_DRAWABLE_OPACITY for the active
  38. 20 Feb, 2003 1 commit
    • Michael Natterer's avatar
      Reimplemented the undo history: · c8b4394d
      Michael Natterer authored
      2003-02-20  Michael Natterer  <mitch@gimp.org>
      	Reimplemented the undo history:
      	* app/Makefile.am
      	* app/undo_history.[ch]: removed.
      	Changes/cleanups to the undo system to enable/simplify the new
      	undo history implementation:
      	* app/core/core-types.h: removed enum undo_event_t. Removed the
      	GimpImage parameter from GimpUndoPopFunc and GimpUndoFreeFunc
      	because GimpUndo has a GimpImage pointer now (see below).
      	* app/core/core-enums.[ch]: added enum GimpUndoEvent. Added an
      	enum value for REDO_EXPIRED.
      	* app/core/gimpimage.[ch]: added a GimpUndo pointer to the
      	"undo_event" signal which needs to be passed for all events except
      	* app/display/gimpdisplayshell-handlers.c: changed accordingly.
      	* app/core/gimpundo.[ch]: added a GimpImage pointer to the
      	GimpUndo struct. Removed GimpImage parameters all over the
      	place. Added preview stuff. The preview creation needs to be
      	triggered explicitly using gimp_undo_create_preview() because the
      	GimpUndo can't know when it's possible to create the preview.
      	* app/core/gimpimage-undo-push.c
      	* app/paint/gimppaintcore-undo.c
      	* app/tools/gimptransformtool-undo.c: changed accordingly, cleanup.
      	* app/core/gimpundostack.[ch]: ditto. Return the freed undo from
      	gimp_undo_stack_free_bottom(). Removed unused container signal
      	* app/core/gimpimage-undo.c: free the redo stack the same way old
      	undos are freed (from bottom up). Emit "undo_event" with event ==
      	REDO_EXPIRED for each removed redo.
      	* app/core/gimpmarshal.list: added new marshallers.
      	New undo history implementation:
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpundoeditor.[ch]
      	* app/widgets/gimpundopreview.[ch]: new widgets for the undo
      	step previews and the history itself.
      	* app/widgets/gimppreview-utils.c: added GimpUndoPreview to the
      	list of possible preview types.
      	* app/gui/dialogs-constructors.[ch]
      	* app/gui/dialogs-menu.c
      	* app/gui/dialogs.c
      	* app/gui/image-menu.c
      	* app/gui/toolbox-menu.c: removed the old and added the new undo
      	history to the dialog factory and the various dialog menus.
      	* app/widgets/gimpdnd.[ch]: don't warn if a GType has no
      	corresponding DND type. Instead, return FALSE from the function
      	that failed.
      	* app/widgets/gimppreview.c: check the return value of gimpdnd
      	functions.  Not only add drag sources but also remove them when no
      	longer needed.
      	* app/widgets/gimpselectioneditor.h: removed unneeded inclusion of
  39. 14 Feb, 2003 1 commit
    • Michael Natterer's avatar
      Fixed most of the bugs the Script-Fu logo scripts triggered: · a4a22458
      Michael Natterer authored
      2003-02-14  Michael Natterer  <mitch@gimp.org>
      	Fixed most of the bugs the Script-Fu logo scripts triggered:
      	* app/core/gimpdrawable-bucket-fill.[ch]
      	(gimp_drawable_bucket_fill): added "gboolean do_seed_fill"
      	parameter instead of assuming TRUE.
      	(gimp_drawable_bucket_fill_full): moved "color" and "pattern"
      	parameters to the end.
      	* app/tools/gimpbucketfilltool.c
      	* app/display/gimpdisplayshell-dnd.c
      	* app/widgets/gimpdrawablelistview.c: changed accordingly.
      	* tools/pdbgen/pdb/misc_tools.pdb: only pass TRUE if the selection
      	is empty. Restores old PDB behaviour.
      	* app/core/gimpimage-undo.c (gimp_image_undo_group_end): return
      	early if gimage->undo_on is FALSE. Fixes bogus criticals.
      	* app/core/gimpimage.c (gimp_image_add_[layer|channel|vectors]):
      	clamp the passed position to sane values before calling
      	gimp_container_insert() (Scripts adding layers at wrong indices
      	are broken but should not crash the core).
      	* tools/pdbgen/pdb/paint_tools.pdb: need to copy the relevant
      	paint parameters from the current context now that the paint
      	options are contexts themselves.
      	* tools/pdbgen/pdb/palette.pdb: removed useless includes.
      	(Mostly) fixed text PDB functions:
      	* app/text/gimptext-compat.[ch] (text_render): don't set
      	text->font_size = -1 but get the size from the PangoFontDescrition.
      	(text_get_extents): return the logical_rect, not the ink_rect
      	because the size of the created text layer will be the logical_rect.
      	* tools/pdbgen/pdb/text_tool.pdb: removed text_fontname_create()
      	utility function and the usage of pass_through and implement all
      	invokers in-place, using the correct parameters.
      	* plug-ins/script-fu/siod-wrapper.c: fixed BG-IMAGE-FILL compat
      	define so we can BG fill again. Cleaned up color handling code.
      	* plug-ins/script-fu/scripts/coolmetal-logo.scm
      	* plug-ins/script-fu/scripts/glossy.scm
      	* plug-ins/script-fu/scripts/land.scm
      	* plug-ins/script-fu/scripts/lava.scm
      	* plug-ins/script-fu/scripts/test-sphere.scm: use new gradient names.
      	* app/pdb/misc_tools_cmds.c
      	* app/pdb/paint_tools_cmds.c
      	* app/pdb/palette_cmds.c
      	* app/pdb/text_tool_cmds.c: regenerated.