1. 11 Oct, 2008 14 commits
    • Michael Natterer's avatar
      add an empty abstract GeglOperationPointComposer subclass which can be · 414cc45a
      Michael Natterer authored
      2008-10-11  Michael Natterer  <mitch@gimp.org>
      
      	* app/gegl/gimpoperationpointcomposer.[ch]: add an empty abstract
      	GeglOperationPointComposer subclass which can be used to hook in
      	common debug or test or whatever code for below layer modes.
      
      	* app/gegl/gimpoperation*mode.[ch]: add empty stubs of layer mode
      	operations which do nothing but copying input to output.
      
      	* app/gegl/Makefile.am
      	* app/gegl/gegl-types.h: add them here and reordered things a bit.
      
      	* app/gegl/gimp-gegl.c (gimp_gegl_init): register the new
      	operations.
      
      	* app/gegl/gimp-gegl-utils.c (gimp_layer_mode_to_gegl_operation):
      	return the new operations.
      
      
      svn path=/trunk/; revision=27239
      414cc45a
    • Aron Xu's avatar
      Merged new .pot file. · d61aab01
      Aron Xu authored
      svn path=/trunk/; revision=27238
      d61aab01
    • Aron Xu's avatar
      Merged new .pot file. · 9fa8fec0
      Aron Xu authored
      svn path=/trunk/; revision=27237
      9fa8fec0
    • Aron Xu's avatar
      Merged new .pot file. · 47262d86
      Aron Xu authored
      svn path=/trunk/; revision=27236
      47262d86
    • Aron Xu's avatar
      Merged new .pot file. · 7b3be7dd
      Aron Xu authored
      svn path=/trunk/; revision=27235
      7b3be7dd
    • Aron Xu's avatar
      Merged new .pot file. · 5cfbbc7e
      Aron Xu authored
      svn path=/trunk/; revision=27234
      5cfbbc7e
    • Aron Xu's avatar
      Merged new .pot file. · 85f81590
      Aron Xu authored
      svn path=/trunk/; revision=27233
      85f81590
    • Michael Natterer's avatar
      make it abstract. · 2d24853f
      Michael Natterer authored
      2008-10-11  Michael Natterer  <mitch@gimp.org>
      
      	* app/gegl/gimpoperationpointfilter.c: make it abstract.
      
      
      svn path=/trunk/; revision=27232
      2d24853f
    • Michael Natterer's avatar
      don't return non-existing layer modes (in fact, return "normal" for all · 90a194a6
      Michael Natterer authored
      2008-10-11  Michael Natterer  <mitch@gimp.org>
      
      	* app/gegl/gimp-gegl-utils.c (gimp_layer_mode_to_gegl_operation):
      	don't return non-existing layer modes (in fact, return "normal"
      	for all modes).
      
      
      svn path=/trunk/; revision=27231
      90a194a6
    • Michael Natterer's avatar
      add a projection node and implement GimpDrawable::get_node(). Reconfigure · 0e882395
      Michael Natterer authored
      2008-10-11  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpchannel.[ch]: add a projection node and
      	implement GimpDrawable::get_node(). Reconfigure the node in
      	visibility_changed(), set_color(), set_opacity() and
      	set_show_masked().
      
      	* app/core/gimpimage.c (gimp_image_get_graph): enable code that
      	projects the channels stack on top of the layer stack.
      
      	* app/core/gimpprojection-construct.c: remove the call to
      	gimp_projection_construct_channels() from the GEGL code path. Also
      	don't touch proj->construct_flag.
      
      
      svn path=/trunk/; revision=27230
      0e882395
    • Michael Natterer's avatar
      remove obsolete assertion and redundant cast. · e28e864a
      Michael Natterer authored
      2008-10-11  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimplayer.c (gimp_layer_get_node): remove obsolete
      	assertion and redundant cast.
      
      
      svn path=/trunk/; revision=27229
      e28e864a
    • Michael Natterer's avatar
      add GimpContainer::add() implementation, it's needed after all even though · 302bda6c
      Michael Natterer authored
      2008-10-11  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdrawablestack.c: add GimpContainer::add()
      	implementation, it's needed after all even though everybody uses
      	gimp_container_insert() on drawable stacks.
      
      	(gimp_drawable_stack_remove_node): no need to have a special check
      	for newly added nodes, this can't happen any more now that we have
      	an add() impl.
      
      	(gimp_drawable_stack_get_graph): free the reverse list.
      
      
      svn path=/trunk/; revision=27228
      302bda6c
    • Michael Natterer's avatar
      Fix old bug in the GimpContainer implementation that wasn't visible before · 26de288d
      Michael Natterer authored
      2008-10-11  Michael Natterer  <mitch@gimp.org>
      
      	Fix old bug in the GimpContainer implementation that wasn't
      	visible before the drawable stack completly b0rked when removing
      	the second-last item:
      
      	* app/core/gimpcontainer.c: add default implementations of ::add()
      	and ::remove() and update container->num_children there instead of
      	in the gimp_container_add() and _remove() wrapper functions.
      	This way not only external callbacks connected to the "add" and
      	"remove" signals are called with the correct num_children, also
      	implemtations of ::add() and ::remove() in subclass have the right
      	number available before/after upchaining. Add paranoia code to the
      	wrapper functions which check if the subclass reall chains up.
      
      	* app/core/gimplist.c: chain up in add() and remove().
      
      
      svn path=/trunk/; revision=27227
      26de288d
    • Martin Nordholts's avatar
      Initialize 'index'. · a07e8586
      Martin Nordholts authored
      * app/widgets/gimpdockseparator.c (gimp_dock_separator_drag_drop):
      Initialize 'index'.
      
      svn path=/trunk/; revision=27226
      a07e8586
  2. 10 Oct, 2008 11 commits
    • Martin Nordholts's avatar
      Add a GtkAnchorType member to GimpDockSeparator that specifies where a · 8b459318
      Martin Nordholts authored
      * app/widgets/gimpdockseparator.c (gimp_dock_separator_new): Add a
      GtkAnchorType member to GimpDockSeparator that specifies where a
      dropped dockable shall be inserted.
      
      (gimp_dock_separator_drag_drop): Get rid of the ugly hack where
      the role of a given separator was based on its position as a child
      in its container. Simply decide what role the separator has by
      loooking at its anchor-member.
      
      * app/widgets/gimpdock.c (gimp_dock_init)
      (gimp_dock_add_book): Give the GimpDockSeparators their
      appropriate roles directly at their construction.
      
      svn path=/trunk/; revision=27218
      8b459318
    • Michael Natterer's avatar
      simplify by getting rid of code duplication. · 012581b1
      Michael Natterer authored
      2008-10-10  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdrawablestack.c
      	(gimp_drawable_stack_add_node)
      	(gimp_drawable_stack_remove_node): simplify by getting rid of code
      	duplication.
      
      
      svn path=/trunk/; revision=27217
      012581b1
    • Michael Natterer's avatar
      move all the code that creates a graph of drawables and all · a037de0f
      Michael Natterer authored
      2008-10-10  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdrawablestack.[ch]: move all the code that creates
      	a graph of drawables and all adding/removing/reordering code from
      	GimpImage to this file.
      
      	* app/core/gimpimage.c: remove the code here and use the layer
      	stack's subgraph instead. Add #if 0'ed code that blends the
      	channels on top of that but that doesn't work because channels
      	don't provide nodes yet.
      
      
      svn path=/trunk/; revision=27216
      a037de0f
    • Claude Paroz's avatar
      Updated French translation by Julien Hardelin. · 518a1667
      Claude Paroz authored
      2008-10-10  Claude Paroz  <claude@2xlibre.net>
      
      	* fr.po: Updated French translation by Julien Hardelin.
      
      svn path=/trunk/; revision=27214
      518a1667
    • Michael Natterer's avatar
      app/core/core-types.h app/core/Makefile.am new GimpList subclass stub · 513c1b80
      Michael Natterer authored
      2008-10-10  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/core-types.h
      	* app/core/Makefile.am
      	* app/core/gimpdrawablestack.[ch]: new GimpList subclass stub
      	which will manage the subgraphs of layers and channels and is also
      	the first step towards layer tree.
      
      	* app/core/gimpimage.c (gimp_image_init): keep the layers and
      	channels in GimpDrawableStacks instead of plain GimpLists.
      
      
      svn path=/trunk/; revision=27212
      513c1b80
    • Michael Natterer's avatar
      add virtual function GimpDrawable::get_node() which returns a node to be · b479b7b3
      Michael Natterer authored
      2008-10-10  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdrawable.[ch]: add virtual function
      	GimpDrawable::get_node() which returns a node to be plugged into
      	the projection.
      
      	* app/core/gimplayer.[ch]: remove public get_node() api and
      	implement the virtual function instead.
      
      	* app/core/gimpimage.c: changed accordingly.
      
      
      svn path=/trunk/; revision=27211
      b479b7b3
    • Michael Natterer's avatar
      flush the image after setting active items back from temporarily selected · ac745422
      Michael Natterer authored
      2008-10-10  Michael Natterer  <mitch@gimp.org>
      
      	* app/tools/gimpmovetool.c (gimp_move_tool_button_release): flush
      	the image after setting active items back from temporarily
      	selected ones. Fixes menu item sensitivity.
      
      
      svn path=/trunk/; revision=27209
      ac745422
    • Michael Natterer's avatar
      implement GimpItem::visibility-changed and turn the layer's node into a · 5ad366c6
      Michael Natterer authored
      2008-10-10  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimplayer.c: implement GimpItem::visibility-changed
      	and turn the layer's node into a nop when the layer is invisible.
      
      	(gimp_layer_get_node): connect the stuff to a nop here too for
      	invisible layers.
      
      
      svn path=/trunk/; revision=27208
      5ad366c6
    • Michael Natterer's avatar
      Bug 554983 – Layers Projection using GEGL · 73a9bcf3
      Michael Natterer authored
      2008-10-10  Michael Natterer  <mitch@gimp.org>
      
      	Bug 554983 – Layers Projection using GEGL
      
      	First projection using GEGL, wheeeee. Disabled by default because
      	it doesn't work with floating selection (and will not, FS
      	refactoring is in the queue).
      
      	* app/core/gimpimage.[ch]: add gimp_image_get_graph() which
      	returns a GeglNode representing the image's projection.
      
      	(gimp_image_add_layer_node)
      	(gimp_image_remove_layer_node): new utility functions to add and
      	remove layer nodes to/from the graph.
      
      	(gimp_image_add_layer)
      	(gimp_image_remove_layer)
      	(gimp_image_position_layer): call them to keep the graph up to date.
      
      	* app/core/gimpdrawable.c (gimp_drawable_real_update): invalidate
      	the source node.
      
      	* app/core/gimpprojection.[ch]: keep a projection graph around and
      	add gimp_projection_get_sink_node() which returns the node that
      	writes to the projection tiles.
      
      	* app/core/gimpprojection-construct.c: add
      	gimp_projection_construct_gegl() which is a few-liner that uses a
      	GeglProcessor to run the projection graph.
      
      	(gimp_projection_construct): call the new function (disabled by
      	default).
      
      
      svn path=/trunk/; revision=27207
      73a9bcf3
    • Michael Natterer's avatar
      add new functions gimp_image_get_layer_by_index(), _channel_by_index() and · dba9e0c5
      Michael Natterer authored
      2008-10-10  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpimage.[ch]: add new functions
      	gimp_image_get_layer_by_index(), _channel_by_index() and
      	_vectors_by_index().
      
      	* app/core/gimpprojection-construct.c
      	* app/display/gimpdisplayshell-layer-select.c
      	* app/xcf/xcf-load.c: use them instead of looking the items up
      	in image->container and casting the return value.
      
      
      svn path=/trunk/; revision=27206
      dba9e0c5
    • Michael Natterer's avatar
      the "shift" operation's x and y properties are doubles not ints. · f2a6b781
      Michael Natterer authored
      2008-10-10  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimplayer.c (gimp_layer_translate)
      	(gimp_layer_get_node): the "shift" operation's x and y properties
      	are doubles not ints.
      
      	(gimp_layer_apply_mask): properly disconnect the mask node.
      
      	(gimp_layer_set_opacity): the opacity node has a "value" property,
      	not "opacity".
      
      
      svn path=/trunk/; revision=27205
      f2a6b781
  3. 09 Oct, 2008 12 commits
    • Michael Natterer's avatar
      Address Bug 554983 – Layers Projection using GEGL · 517e58cd
      Michael Natterer authored
      2008-10-09  Michael Natterer  <mitch@gimp.org>
      
      	Address Bug 554983 – Layers Projection using GEGL
      
      	* app/gegl/gimp-gegl-utils.[ch]: add (imcomplete) function
      	gimp_layer_mode_to_gegl_operation() from bug #554983.
      
      	* app/core/gimpdrawable.[ch]: add gimp_drawable_get_source_node()
      	which returns a GimpOperationTileSource for the drawable's
      	tiles.
      
      	(gimp_drawable_real_set_tiles)
      	(gimp_drawable_configure): set the node's "tiles" property.
      
      	* app/core/gimplayer.[ch]: add gimp_layer_get_node() which returns
      	a GeglNode with proxy "input" and "output" pads to be plugged
      	into the projection graph. The node has children for opacity,
      	mask, layer mode and layer offset.
      
      	(gimp_layer_translate)
      	(gimp_layer_add_mask)
      	(gimp_layer_apply_mask)
      	(gimp_layer_set_opacity)
      	(gimp_layer_set_mode): reconfigure the respective nodes.
      
      	* app/core/gimpimage.[ch]: keep a "graph" node around and destroy
      	it in finalize(). Not even a stub, just a silly GEGL dependency.
      
      
      svn path=/trunk/; revision=27204
      517e58cd
    • Marco Ciampa's avatar
      Updated italian translation · 511d9c65
      Marco Ciampa authored
      svn path=/trunk/; revision=27203
      511d9c65
    • 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
      5503e6a0
    • Michael Natterer's avatar
      Remove the last code duplication from the undo system (or if not the last · 0e4a35a2
      Michael Natterer authored
      2008-10-09  Michael Natterer  <mitch@gimp.org>
      
      	Remove the last code duplication from the undo system (or if not
      	the last then at least the most ugly):
      
      	* app/core/gimpimage.[ch] (gimp_image_add_layer,channel,vectors):
      	add "gboolean push_undo" parameter and add the item without
      	touching undo if it's TRUE. Changed assertions from
      	g_object_is_floating() to !gimp_item_is_attached() so they also
      	take items from the undo stack and not only newly created ones.
      
      	(gimp_image_remove_layer,channel,vectors): add "push_undo"
      	parameter here too. Also add a "new_active" parameter where an
      	optional new active item can be passed.
      
      	(gimp_image_remove_layer,channel): these functions must not be
      	called with push_undo=FALSE and a floating selection attached to
      	the layer/channel. This can't currently happen; added warnings in
      	case other code is changed and makes it happen anyway.
      
      	* app/core/gimpchannelundo.c
      	* app/core/gimplayerundo.c
      	* app/vectors/gimpvectorsundo.c: use above functions to add/remove
      	items instead of duplicating (parts of) their code. Pass
      	push_undo=FALSE and the previously active item to the remove()
      	functions.
      
      	* app/actions/channels-commands.c
      	* app/actions/edit-commands.c
      	* app/actions/layers-commands.c
      	* app/actions/vectors-commands.c
      	* app/core/gimp-edit.c
      	* app/core/gimpchannelundo.c
      	* app/core/gimpimage-crop.c
      	* app/core/gimpimage-duplicate.c
      	* app/core/gimpimage-merge.c
      	* app/core/gimpimage-quick-mask.c
      	* app/core/gimpimage-scale.c
      	* app/core/gimplayer-floating-sel.c
      	* app/core/gimplayerundo.c
      	* app/core/gimpselection.c
      	* app/core/gimptemplate.c
      	* app/display/gimpdisplayshell-dnd.c
      	* app/text/gimptext-compat.c
      	* app/tools/gimptexttool.c
      	* app/tools/gimpvectortool.c
      	* app/vectors/gimpvectors-import.c
      	* app/vectors/gimpvectorsundo.c
      	* app/widgets/gimpchanneltreeview.c
      	* app/widgets/gimpitemtreeview.[ch]
      	* app/widgets/gimplayertreeview.c
      	* app/widgets/gimptoolbox-dnd.c
      	* app/widgets/gimpvectorstreeview.c
      	* app/xcf/xcf-load.c
      	* tools/pdbgen/pdb/image.pdb
      	* tools/pdbgen/pdb/paths.pdb: changed accordingly (pass TRUE
      	unless it's a new image like when loading and XCF file).
      
      	* app/pdb/image-cmds.c
      	* app/pdb/paths-cmds.c: regenerated.
      
      
      svn path=/trunk/; revision=27200
      0e4a35a2
    • Sven Neumann's avatar
      data/images/Makefile.am added 128x128 version of wilber-devel.png. · f9598326
      Sven Neumann authored
      2008-10-09  Sven Neumann  <sven@gimp.org>
      
      	* data/images/Makefile.am
      	* data/images/gimp-devel-logo.png: added 128x128 version of
      	wilber-devel.png.
      
      	* app/dialogs/about-dialog.c (about_dialog_load_logo): use
      	gimp-devel-logo.png for unstable releasees.
      
      
      svn path=/trunk/; revision=27199
      f9598326
    • Sven Neumann's avatar
      Bug 555697 – build fails if configured with --without-libjpeg · 86f8a07f
      Sven Neumann authored
      2008-10-09  Sven Neumann  <sven@gimp.org>
      
      	Bug 555697 – build fails if configured with --without-libjpeg
      	
      	* plug-ins/Makefile.am: applied patch from Simon Zilliken that
      	disables the build of the PSD plug-in if JPEG support is 
      disabled.
      
      
      svn path=/trunk/; revision=27196
      86f8a07f
    • Michael Natterer's avatar
      Bug 134956 – Curves tool doesn't save free curves · e21935a7
      Michael Natterer authored
      2008-10-09  Michael Natterer  <mitch@gimp.org>
      
      	Bug 134956 – Curves tool doesn't save free curves
      
      	* app/core/gimpmarshal.list
      	* app/widgets/gimpsettingsbox.[ch]: add signal "file-dialog-setup"
      	and emit it when the export/import file chooser is fully
      	constructed. Callbacks can then do additional things to the
      	dialog, like adding custom buttons.
      
      	* app/tools/gimpcurvestool.h
      	* app/tools/gimplevelstool.h: add boolean member
      	"export_old_format".
      
      	* app/tools/gimpcurvestool.c
      	* app/tools/gimplevelstool.c (gimp_*_tool_dialog): connect to
      	the settings box' "file-dialog-setup".
      
      	(gimp_*_tool_export_setup): new callback which adds a toggle to
      	the file choosers that allows to export to the old format.
      	Default saving the new format, we defaulted to the old one before.
      
      	(gimp_*_tool_settings_export): check the "export_old_format"
      	boolean and only save the cruft format if it is TRUE; chain up
      	otherwise, which generically saves the new format.
      
      	* app/tools/gimplevelstool.c (gimp_levels_tool_settings_import):
      	add the same file format detection code as in the curves tool
      	so it transparently loads old and new levels files.
      
      
      svn path=/trunk/; revision=27194
      e21935a7
    • Sven Neumann's avatar
      fixed email in ChangeLog entry · 176c24be
      Sven Neumann authored
      svn path=/trunk/; revision=27193
      176c24be
    • Sven Neumann's avatar
      use GIMP_MINOR_VERSION to determine the version to migrate from. · ecccddd3
      Sven Neumann authored
      2008-10-09  Sven Neumann  <sven@sven>
      
      	* app/core/gimp-user-install.c (gimp_user_install_detect_old):
      	use GIMP_MINOR_VERSION to determine the version to migrate from.
      
      
      svn path=/trunk/; revision=27192
      ecccddd3
    • Michael Natterer's avatar
      when saving a curve of type GIMP_CURVE_FREE, don't use · 97b8f510
      Michael Natterer authored
      2008-10-09  Michael Natterer  <mitch@gimp.org>
      
      	* app/gegl/gimpcurvesconfig.c (gimp_curves_config_save_cruft):
      	when saving a curve of type GIMP_CURVE_FREE, don't use
      	gimp_curve_get_point() because that returns nothing for free
      	curves.
      
      	(gimp_curves_config_load_cruft): reset the curve before loading it.
      
      	* app/core/gimpcurve.c (gimp_curve_get_point): instead of above
      	mentioned uninitialized nonsense, at least return -1,-1 for free
      	curves.
      
      
      svn path=/trunk/; revision=27190
      97b8f510
    • Michael Natterer's avatar
      app/Makefile.am change 2.6 to 2.7 here too. · fafec130
      Michael Natterer authored
      2008-10-09  Michael Natterer  <mitch@gimp.org>
      
      	* app/Makefile.am
      	* tools/Makefile.am: change 2.6 to 2.7 here too.
      
      
      svn path=/trunk/; revision=27189
      fafec130
    • Michael Natterer's avatar
      app/Makefile.am change 2.6 to 2.7 here too. · 381d5214
      Michael Natterer authored
      2008-10-09  Michael Natterer  <mitch@gimp.org>
      
      	* app/Makefile.am
      	* tools/Makefile.am: change 2.6 to 2.7 here too.
      
      
      svn path=/trunk/; revision=27188
      381d5214
  4. 08 Oct, 2008 3 commits