2008-02-06 Michael Natterer <mitch@gimp.org>
* app/core/gimpimagemap.c (gimp_image_map_apply): when using a
source operation, blend its output over the original image using
"over" instead of simply replacing the original image.
svn path=/trunk/; revision=24819
2008-02-06 Michael Natterer <mitch@gimp.org>
* app/tools/gimpgegltool.c (gimp_param_spec_duplicate)
* app/widgets/gimppropwidgets.c (gimp_prop_table_new): support
multiline text and file paths. The multiline support is hacked up
and needs some proper solution.
svn path=/trunk/; revision=24818
2008-02-05 Martin Nordholts <martinn@svn.gnome.org>
Applied patch from Olof Frahm which makes loading of data
files (brushes and so on) happen recursively (bug #514160).
* app/core/gimpdatafactory.c
(gimp_data_factory_data_load): Recursively search sub directories
for data files using the new helper function
(gimp_data_factory_load_data_recursive)
svn path=/trunk/; revision=24814
2008-02-05 Michael Natterer <mitch@gimp.org>
* app/core/gimpimagemap.c (gimp_image_map_apply): use
gegl_node_get_pad() instead of gegl_node_find_property() to find
out whether the node has an "input" pad.
* app/tools/gimpgegltool.c: #include "core/gimpimagemap.h"
svn path=/trunk/; revision=24812
2008-02-05 Michael Natterer <mitch@gimp.org>
* app/core/gimpimagemap.c (gimp_image_map_apply): do the right
thing for operations without "input" pad so we can use all source
operations too.
* app/tools/gimpimagemaptool.[ch]: make
gimp_image_map_tool_create_map() public for the time being.
* app/tools/gimpgegltool.c (gimp_gegl_tool_operation_changed):
recreate the GimpImageMap so we can switch from filter to source
operations and back.
svn path=/trunk/; revision=24810
2008-02-05 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppropwidgets.[ch] (gimp_prop_table_new): new
function which creates a table of prop widgets for all properties
of an object (pretty incomplete, does exactly what's needed in
GimpGeglTool, or even less).
* app/tools/gimpgegltool.c: create a proxy config class for each
GegĺOperation and create a prop table on the config class'
properties as GUI for the GEGL operation. Write the proxy object's
properties back to the GeglNode in map().
svn path=/trunk/; revision=24809
2008-02-05 Sven Neumann <sven@gimp.org>
* app/dialogs/image-new-dialog.c (image_new_create_image):
use the user context when creating the new image. Fixes bug #514082.
svn path=/trunk/; revision=24806
2008-02-05 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_response): don't
try to add a NULL config to the recent settings menu.
svn path=/trunk/; revision=24801
2008-02-05 Michael Natterer <mitch@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-gegl-16.png
* themes/Default/images/stock-gegl-24.png
* libgimpwidgets/gimpstock.[ch]: new stock icon to be replaced by
somebody who can draw ;)
* app/tools/gimpgegltool.c: use it.
svn path=/trunk/; revision=24800
2008-02-05 Michael Natterer <mitch@gimp.org>
* app/tools/Makefile.am
* app/tools/gimpgegltool.[ch]: add experimental GEGL tool which
will allow to try arbitrary GEGL operations. 100% unusable at the
moment.
* app/tools/gimp-tools.c: register it.
* app/dialogs/dialogs.c: register its dialog.
* menus/image-menu.xml.in: add it to the tools menu.
svn path=/trunk/; revision=24799
2008-02-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-preview.c
(gimp_display_shell_trace_tri_edge): use a gint for direction,
not
a gchar which might be unsigned. Patch from Giuliano Pochini;
fixes bug #340965.
svn path=/trunk/; revision=24795
2008-02-04 Michael Natterer <mitch@gimp.org>
* app/base/gimphistogram.[ch]: add refcounting and replace free()
API by ref() and unref().
* app/core/gimpdrawable-equalize.c
* app/core/gimpdrawable-levels.c
* app/widgets/gimphistogrameditor.c
* tools/pdbgen/pdb/color.pdb: replace calls to
gimp_histogram_free() by gimp_histogram_unref().
* app/pdb/color_cmds.c: regenerated.
* app/widgets/gimphistogramview.c: reference the histograms so we
don't need the widget's users to keep them around while the widget
exists.
* app/tools/gimpcurvestool.[ch]: remove the histogram from the
tool struct and just create one locally to set it on the histogram
view widget.
Unrelated:
* app/tools/gimplevelstool.[ch]
* app/tools/gimpthresholdtool.[ch]: renamed "hist" members to
"histogram" plus some cleanup.
svn path=/trunk/; revision=24792
2008-02-04 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_add_recent):
use localtime() instead of localtime_r() and don't use %F in
strftime(). Fixes bug #513966.
svn path=/trunk/; revision=24785
2008-02-04 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimpdrawable-brightness-contrast.[ch]
* app/core/gimpdrawable-color-balance.[ch]
* app/core/gimpdrawable-colorize.[ch]
* app/core/gimpdrawable-curves.[ch]
* app/core/gimpdrawable-hue-saturation.[ch]
* app/core/gimpdrawable-posterize.[ch]
* app/core/gimpdrawable-threshold.[ch]: new files containing all
the code that was in pdb/color_cmds.c. Cleaned up and GEGL-enabled
everyting.
* tools/pdbgen/pdb/color.pdb: remove almost all code and simply call
the new functions.
* app/pdb/color_cmds.c: regenerated.
svn path=/trunk/; revision=24784
2008-02-04 Sven Neumann <sven@gimp.org>
* app/paint/gimpbrushcore.c (gimp_brush_core_create_bound_segs):
only smooth the inner area of the mask so that we don't enlarge
the boundary for hard brushes (bug #304798).
svn path=/trunk/; revision=24780
2008-02-04 Michael Natterer <mitch@gimp.org>
* app/tools/gimplevelstool.[ch]
* app/tools/gimpcurvestool.[ch]: remove boolean "color" and "alpha"
members from the tool structs and ask the drawable instead when
needed.
svn path=/trunk/; revision=24779
2008-02-04 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpthresholdconfig.[ch]: add "gboolean color"
parameter to gimp_threshold_config_to_cruft() and set the "color"
boolean in the Threshold cruft struct.
* app/tools/gimpthresholdtool.c: don't fiddle with the cruft
struct any longer and pass gimp_drawable_is_rgb() to above
function instead.
svn path=/trunk/; revision=24778
2008-02-02 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimppolygonselecttool.c
(gimp_polygon_select_tool_commit): Only create a selection from
the polygon if there are 3 or more vertices.
svn path=/trunk/; revision=24776
2008-02-02 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimppolygonselecttool.c
(gimp_polygon_select_tool_oper_update): Don't hide the pending
point line if we are grabbing the first point.
(gimp_polygon_select_tool_motion): Also update the pending point
if we are moving the first point.
svn path=/trunk/; revision=24775
2008-02-02 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimppolygonselecttool.c
(gimp_polygon_select_tool_remove_last): Properly halt the tool
when there are no vertices left.
svn path=/trunk/; revision=24774
2008-02-02 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimppolygonselecttool.c
(gimp_polygon_select_tool_commit): Add a call to
gimp_image_flush() so that the undo state gets updated.
svn path=/trunk/; revision=24773
2008-02-01 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h
* app/gegl/gegl-types.h: have app/gegl know app/core's namespace.
* app/gegl/gimpoperationcurves.h: remove temp hack includes.
* app/gegl/gimpoperationcurves.c: include "core/gimpcurve.h"
* app/gegl/gimpbrightnesscontrastconfig.[ch]
* app/gegl/gimpcolorbalanceconfig.[ch]
* app/gegl/gimpcolorizeconfig.[ch]
* app/gegl/gimpcurvesconfig.[ch]
* app/gegl/gimphuesaturationconfig.[ch]
* app/gegl/gimplevelsconfig.[ch]
* app/gegl/gimpoperationcurves.[ch]
* app/gegl/gimpposterizeconfig.[ch]
* app/gegl/gimpthresholdconfig.[ch]: derive from GimpViewable, install
properties using the GimpConfig macros, add implementations of
GimpConfigInterface::equal() and ::copy() where needed.
* app/tools/gimpimagemaptool.[ch]: add prototype of a menu of
recently used settings so the same color correction can easily be
applied to many images.
svn path=/trunk/; revision=24770
2008-02-01 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainerview.c
(gimp_container_view_set_container): refuse containers if their
children are not GimpViewables instead of crashing later.
svn path=/trunk/; revision=24769
2008-01-31 Sven Neumann <sven@gimp.org>
Delay GEGL initialisation until after the command-line parsing
so
that we can detect an already running GIMP instance and delegate
to that without going through the GEGL and babl initialisation.
* app/app.c (app_libs_init): don't add the GEGL options group
here. GEGL doesn't add any command-line options and it doesn't
look as if it would do that anytime soon.
* app/gegl/gimp-gegl.c (gimp_gegl_init): initialize GEGL here.
svn path=/trunk/; revision=24762
2008-01-30 Martin Nordholts <martinn@svn.gnome.org>
Added a Polygon Select Tool which is a primitive selection tool
based on Free Hand Select. Code filtered through David Gowers who
also made the tool icon. This version of the tool is a for-now
solution to bug #119646.
* app/tools/gimppolygonselecttool.[ch]: The new tool.
* app/tools/gimp-tools.c: Add the tool.
* app/tools/Makefile.am: Add tool source.
* app/widgets/gimphelp-ids.h: Add help id for the tool.
* libgimpwidgets/gimpstock.[ch]: Setup for the new tool icon.
* menus/image-menu.xml.in: Add action entry for the tool.
* themes/Default/images/tools/stock-tool-polygon-select-{16,24}.png:
Tool icon graphics.
* themes/Default/images/Makefile.am: Add tool icon graphics.
svn path=/trunk/; revision=24753
2008-01-30 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.[ch]: add "GObject **config" return
value to GimpImageMapTool::get_operation() and memory-manage the
config object here.
Add default implementation of GimpImageMapTool::reset() which
calls gimp_config_reset() on the config object.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorizetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: return the config object in
get_operation() and don't unref it in finalize().
Connect to the config object's "notify" signal and update the GUI
in the callback. Also call gimp_image_map_tool_preview() there.
Removed all other GUI update functions and all calls to preview().
Removed reset() implementations which only called
gimp_config_reset().
svn path=/trunk/; revision=24752
2008-01-28 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationtilesink.c
* app/gegl/gimpoperationtilesource.c (process): return FALSE when
there is no tile manager.
svn path=/trunk/; revision=24740
2008-01-28 Michael Natterer <mitch@gimp.org>
* app/gegl/gegl-types.h
* app/gegl/Makefile.am
* app/gegl/gimpbrightnesscontrastconfig.[ch]: new config object.
* app/tools/gimpbrightnesscontrasttool.[ch]: use it.
svn path=/trunk/; revision=24735
2008-01-28 Michael Natterer <mitch@gimp.org>
* app/dialogs/keyboard-shortcuts-dialog.c
(keyboard_shortcuts_dialog_new): don't show the horizontal
scrollbar if it's not needed.
svn path=/trunk/; revision=24731
2008-01-28 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.[ch] (gimp_display_shell_snap_coords):
removed redundant GimpCoords parameter that use to cause valgrind
warnings about overlapping memory regions in memcpy().
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-autoscroll.c: changed accordingly.
svn path=/trunk/; revision=24730
2008-01-28 Michael Natterer <mitch@gimp.org>
* app/base/tile-manager.c
* plug-ins/common/lcms.c: use G_STRLOC instead of
G_GNUC_FUNCTION (which is now deprecated).
svn path=/trunk/; revision=24727
2008-01-27 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpcolorbalanceconfig.[ch]
* app/gegl/gimpcolorizeconfig.[ch]
* app/gegl/gimpcurvesconfig.[ch]
* app/gegl/gimphuesaturationconfig.[ch]
* app/gegl/gimplevelsconfig.[ch]
* app/gegl/gimpposterizeconfig.[ch]
* app/gegl/gimpthresholdconfig.[ch]: implement the GimpConfig
interface and remove public reset() functions except special ones
which reset only parts of the objects. Add lots of property
notifications.
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorizetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: use gimp_config_reset(), misc.
related changes and cleanups.
svn path=/trunk/; revision=24724
2008-01-25 Michael Natterer <mitch@gimp.org>
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpoperationpointfilter.[ch]: new parent class for all
image map operations. Features a "config" member and "public"
get_property() and set_property() functions to be used by
subclasses.
* app/gegl/gimpoperationcolorbalance.[ch]
* app/gegl/gimpoperationcolorize.[ch]
* app/gegl/gimpoperationcurves.[ch]
* app/gegl/gimpoperationhuesaturation.[ch]
* app/gegl/gimpoperationlevels.[ch]
* app/gegl/gimpoperationposterize.[ch]
* app/gegl/gimpoperationthreshold.[ch]: derive from
GimpOperationPointFilter, remove "config" members, remove
finalize(), get_property() and set_property() implementations and
use the ones provided by the parent class.
svn path=/trunk/; revision=24713