2004-02-22 Sven Neumann <sven@gimp.org>
Let all GimpImageMap tools remember the state of the preview toggle
(bug #135059):
* app/tools/Makefile.am
* app/tools/gimpimagemapoptions.[ch]
* app/tools/tools-types.h: added new GimpToolOptions class to hold
the preview setting.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorizetool.c
* app/tools/gimpcoloroptions.[ch]
* app/tools/gimphuesaturationtool.c
* app/tools/gimpimagemaptool.[ch]
* app/tools/gimpposterizetool.c
* app/tools/tools-types.h: use the new class.
2004-02-21 Simon Budig <simon@gimp.org>
* app/tools/gimpdrawtool.[ch]: added "use_offsets" parameter
to gimp_draw_tool_draw_boundary() for consistency.
* app/tools/gimpeditselectiontool.c: Changed accordingly.
* app/tools/gimppainttool.c: when drawing straight lines draw
the brush preview at the end of the line.
2004-02-20 Sven Neumann <sven@gimp.org>
* app/tools/gimplevelstool.[ch]: put the color bars into an event
box and draw the sliders on the event box window.
* app/widgets/gimpcolorbar.[ch]: removed support for input events
which is no longer needed. For consistency, renamed "channel"
property to "histogram-channel".
* app/widgets/gimphistogrambox.c: changed accordingly.
* app/widgets/gimpenummenu.[ch]: added new function
gimp_enum_stock_box_set_child_padding().
* app/tools/gimpcurvestool.[ch]: let the graph widget expand with
the dialog plus some other dialog tweaks.
* app/widgets/gimphistogrameditor.c: let the channel menu shrink
as in the other dialogs.
* libgimpwidgets/gimpcolorselect.c (gimp_color_select_image_fill):
allocate temporary buffer on the stack.
2004-02-20 Manish Singh <yosh@gimp.org>
* plug-ins/common/pygimp/gimpfu.py: Do some simple validation on the
GUI input. Arrays are still kinda hokey though. Based on Dave Neary's
patch, addresses bug #122049.
* plug-ins/common/pygimp/plug-ins/sphere.py: Make sure radius is at
least 1. Thanks to Florian Traverse for noticing. (Also in #122049)
2004-02-20 Simon Budig <simon@gimp.org>
* plug-ins/common/lic.c: fixed crash when the effect image
is smaller than the target drawable. Major code overhaul (not
yet fully completed), removed global variables, removed
micro-functions that itself just invoke micro-functions, use
more libgimpcolor functions.
Slightly improved the algorithm by adding small random
distorsions to the effect image. This avoids artefacts in plain
areas.
2004-02-19 Simon Budig <simon@gimp.org>
* plug-ins/common/lic.c: fixed gimp_dialog_new invocation.
Also fixed a blatant error in the algorithm (GimpRGB has a
range from 0..1 for each component...) and now the plugin
actually does something useful.
2004-02-19 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.c (gimp_curves_tool_dialog): follow
some of the levels tool dialog changes for consistency.
2004-02-19 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-qmask.c (gimp_image_get_qmask): new function
which returns the image's QMask.
* app/core/gimpimage.c (gimp_image_channel_name_changed)
* app/gui/qmask-commands.c (qmask_query_response): use it.
2004-02-19 Michael Natterer <mitch@gimp.org>
* app/core/gimp.[ch]: added new signal "buffer_changed" and new
function gimp_set_global_buffer() which emits it when the global
buffer changes.
* app/core/gimp-edit.c (gimp_edit_extract): use it instead
of fiddling with gimp->global_buffer manually.
* app/gui/image-menu.c: connect to "buffer_changed" and set the
"Paste" menu entries sensitive. Fixes bug #134752.
(image_menu_update): changed accordingly. Also changed a lot of
buggy SET_SENSITIVE() lines which made menu items which work fine
on any drawable insensitive when there were no layers (instead
of no drawable).
* app/gui/edit-commands.c: added new macro return_if_new_drawable()
and use it instead of return_if_no_image() so we don't run
into assertions if there is no active drawable.
(cut,copy_named_buffer_callback): unfortunately had to introduce
two new translated messages about not being able to cut/copy when
there is no active drawable.
2004-02-19 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig-serialize.c
(gimp_config_serialize_property)
* app/config/gimpconfig-deserialize.c
(gimp_config_deserialize_property): Reverted my last "cleanup" and
put the "obsolete" check for the exact owner class of the property
back. It appears that if a subclass does *not* implement
GimpConfigInterface *itself*, it still inherits
serialize_property()/deserialize_property().
2004-02-19 Sven Neumann <sven@gimp.org>
* app/tools/gimplevelstool.c (gimp_levels_tool_dialog): applied
patch from Dave Neary that removes gray point pickers for
individual channels (bug #125303). Let the levels widgets expand
with the dialog.
2004-02-18 Simon Budig <simon@gimp.org>
* app/config/gimpguiconfig.[ch]
* app/config/gimprc-blurbs.h: Added new GUI option: snapping distance
* app/gui/preferences-dialog.c: add a preferences widget
* app/tools/gimpmovetool.c
* app/display/gimpdisplayshell.c: use it for snapping.
2004-02-18 Sven Neumann <sven@gimp.org>
* tile-cache.c
* tile-private.h
* tile.[ch]: removed trailing whitespace, added some newlines,
let tile_is_valid() return a gboolean instead of a gint.
* app/core/gimpimage-projection.c
* app/core/gimpimage-undo-push.c
* app/paint/gimppaintcore.c
* app/tools/gimpinktool.c: use the return value from tile_is_valid()
as a boolean.
2004-02-18 Sven Neumann <sven@gimp.org>
* tile-cache.c
* tile-private.h
* tile.[ch]: removed trailing whitespace, added some newlines,
let tile_is_valid() return a gboolean instead of a gint.
* app/core/gimpimage-projection.c
* app/core/gimpimage-undo-push.c
* app/paint/gimppaintcore.c
* app/tools/gimpinktool.c: use the return value from tile_is_valid()
as a boolean.
2004-02-18 Simon Budig <simon@gimp.org>
* app/display/gimpdisplayshell.c
* app/tools/gimpmovetool.c: Adjusted snapping distance
to 8 pixels, probably should be a preferences option.
* app/tools/gimppainttool.c: Do not center the start and end
of a straight line to the center of an image-pixel unless
the brush mode is GIMP_BRUSH_HARD. Fixes bug #134410.
2004-02-18 Sven Neumann <sven@gimp.org>
* app/base/tile.h: exchanged TILEROWHINT_UNKNOWN and
TILEROWHINT_BROKEN so that TILEROWHINT_UNKNOWN becomes 0. This
allows to use calloc() to allocate and initialize the rowhint
array.
* app/base/tile.c (tile_sanitize_rowhints): reimplemented with by
a call to g_new0().
* app/base/tile-manager.c (tile_manager_get): use g_memdup() to
duplicate the rowhints when creating a tile copy.
2004-02-18 Michael Natterer <mitch@gimp.org>
Some code review:
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c: removed obsolete code which
made sure serialize_property()/deserialize_property() are only
called for properties of the correct class. We do it the right way
for quite a while now and clear the inherited function pointers in
gimp_config_iface_base_init().
* app/config/gimprc.c (gimp_rc_dispose): don't forget to chain up.
* app/base/gimplut.c
* app/base/lut-funcs.c
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c
* app/config/gimpconfig-types.c
* app/config/gimprc.c
* app/core/gimp-modules.c
* app/core/gimpbrush.c
* app/core/gimpcontainer.c
* app/core/gimpdocumentlist.c
* app/core/gimpitem.c
* app/gui/about-dialog.c
* app/gui/color-notebook.c
* app/gui/gui.c
* app/gui/tips-dialog.c
* app/paint/gimppaintcore.c
* app/paint-funcs/paint-funcs.c
* app/widgets/gimpcolorpanel.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainermenuimpl.c
* app/widgets/gimpselectioneditor.c: removed I/O includes from
files which don't use lowlevel APIs any more. Also removes
a whole bunch of G_OS_WIN32 special casing. Removed trailing
whitespace. Misc tiny cleanups.
2004-02-17 Sven Neumann <sven@gimp.org>
* app/widgets/gimpeditor.c (gimp_editor_add_stock_box): cannot
gtk_widget_destroy() a floating widget, sink it instead.
* libgimpwidgets/gimppatheditor.c (gimp_path_editor_set_path):
plugged a small memleak.
2004-02-17 Pedro Gimeno <pggimeno@wanadoo.es>
* plug-ins/pagecurl/pagecurl.c: Corrected the pairing of
gimp_drawable_get/gimp_drawable_detach and other cleanups.
(do_curl_effect): Fixed a bug spotted by Simon Budig: uninitialized
data could be exposed when applying the effect to non-rectangular
selections.
2004-02-17 Michael Natterer <mitch@gimp.org>
* app/core/gimpviewable.c (gimp_viewable_calc_preview_size): argh,
take the resolution into account if "dot_for_dot" is FALSE, not
TRUE.
2004-02-17 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-scale.c (gimp_image_scale_check): exclude the
size of the undo stacks so that the memory size is comparable with
the value displayed in the "New Image" dialog. Fixes bug #134512.
2004-02-17 Sven Neumann <sven@gimp.org>
* libgimpbase/gimpprotocol.[ch]: changed wm_name to app_name in
the GimpConfig struct; increased GIMP_PROTOCOL_VERSION.
* app/plug-in/plug-in-run.c (plug_in_run): pass the return value
of g_get_application_name() to the plug-ins.
* libgimp/gimp.[ch]: removed function gimp_wm_name(). Set the
plug-in's application name if an app_name is passed in the config
message.
* libgimp/gimpui.c: removed usage of gimp_wm_name(); it was wrong
to do it this way and caused all plug-ins claim to be the gimp-1.3
executable in their error messages.
* libgimp/gimp.def: removed symbol gimp_wm_name.
* configure.in: reset gimp_binary_age and gimp_interface_age.
* app/core/gimpimage.c (gimp_image_name_changed): removed unused
variable.
2004-02-17 Michael Natterer <mitch@gimp.org>
Make sure each GimpItem emits "removed" when it is removed from
the image so dialogs have a chance to close themselves:
* app/core/gimplayer.c (gimp_layer_apply_mask): emit "removed"
from the mask.
(gimp_layer_removed): new function which emits "removed" from
the layer's mask when the layer gets removed from the image.
* app/core/gimpimage.c (gimp_image_dispose): emit "removed"
from all layers, channels and vectors.
* app/gui/layers-commands.c (layers_scale_layer_query)
(layers_resize_layer_query): removed recently added connections to
"removed" because GimpViewableDialog does this automatically.
2004-02-16 Michael Natterer <mitch@gimp.org>
* libgimp/gimptile.[ch] (_gimp_tile_cache_flush_drawable): new
inernal function which removes all tiles from a given drawable
from the cache.
* libgimp/gimpdrawable.c (gimp_drawable_detach): call the new
function before freeing the tiles. Fixes bug #134562.
2004-02-16 Michael Natterer <mitch@gimp.org>
* libgimp/gimppixelrgn.c: cleaned up a bit: added missing
g_return_if_fail()s, iterate lists using for() loops, indentation.
2004-02-16 Sven Neumann <sven@gimp.org>
* libgimp/gimptile.c (gimp_tile_cache_insert): partly rewritten.
Instead of removing the list element from the hash table, freeing
it, allocating a new one and inserting it again, simply move it to
the end of the list without touching the hash table at all.
2004-02-16 Sven Neumann <sven@gimp.org>
* app/config/gimpxmlparser.c (gimp_xml_parser_parse_io_channel):
set the GIOChannel encoding to NULL here instead of doing it in
gimp_xml_parser_parse_file().