2007-02-28 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangleselecttool.c
(gimp_rect_select_tool_rectangle_changed): don't change the
selection while the tool is active. Fixes bug #398185. Thanks to
Martin Nordholts for investigating this problem.
* app/tools/gimprectangletool.c: minor cleanup.
svn path=/trunk/; revision=22025
2007-02-28 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.c (gimp_tool_check_click_distance): need to
check the distance in screen coords, not image coords.
* app/tools/gimpmovetool.c (gimp_move_tool_button_release): forgot
two manual checks for GDK_BUTTON3_MASK.
svn path=/trunk/; revision=22024
2007-02-27 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.[ch]: clean up last commit a bit. Pass the
recorded button_press_coords to GimpTool::button_release() when a
click was detected.
svn path=/trunk/; revision=22019
2007-02-27 Sven Neumann <sven@gimp.org>
* app/config/gimpcoreconfig.c: increased default value for
"undo-size" to 64 MB.
* app/config/gimpguiconfig.c: increased default value for
'max-new-image-size' to 128 MB.
svn path=/trunk/; revision=22017
2007-02-27 Michael Natterer <mitch@gimp.org>
* app/tools/gimptoolcontrol.[ch]: added "gboolean wants_click"
member and getters/setters.
* app/tools/gimptool.[ch] (struct GimpTool): added members
in_click_distance, press_coords and press_time.
(gimp_tool_button_press): if the tool wants click events, record
press_coords and press_time.
(gimp_tool_motion): check if we are still in click distance.
(gimp_tool_button_release): ditto. If we are still in click
distance, synthesize a motion event back to the recorded
press_coords and send the tool release_type = CLICK.
(gimp_tool_check_click_distance): utility function which checks
the current coords and time against the recorded ones, using
gtk-double-click-time and gtk-double-click-distance as thresholds.
* app/tools/gimpcroptool.c
* app/tools/gimprectangleselecttool.c: request click events
and handle them.
* app/tools/gimprectangletool.[ch]: handle click events. Removed
gimp_rectangle_tool_no_movement().
svn path=/trunk/; revision=22016
2007-02-27 Michael Natterer <mitch@gimp.org>
Step one towards enabling tool cancellation by other means than
mouse button 3 and towards proper "clicked" semantics.
* app/tools/tools-enums.[ch]: added enum GimpButtonReleaseType
which can be one of { NORMAL, CANCEL, CLICK } (click is curently
unused).
* app/tools/gimptool.[ch] (GimpTool::button_release): added
"release_type" parameter.
(gimp_tool_button_release): if the state contains
GDK_BUTTON3_MASK, call the tool's button_release() with CANCEL,
use NORMAL otherwise.
* app/tools/gimpaligntool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimpcolortool.c
* app/tools/gimpcroptool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpforegroundselecttool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimprectangleselecttool.c
* app/tools/gimprectangletool.[ch]
* app/tools/gimpregionselecttool.c
* app/tools/gimptransformtool.c
* app/tools/gimpvectortool.c (button_release): added
"release_type" parameters and get rid of own checks for
GDK_BUTTON3_MASK.
svn path=/trunk/; revision=22015
2007-02-27 Michael Natterer <mitch@gimp.org>
* app/tools/gimpblendoptions.c (gimp_blend_options_gui): set the
gradient-type and gradient-repeat combo boxes to ELLIPSIZE_END so
the blend options can be one tool icon size smaller without
scrolling horizontally.
svn path=/trunk/; revision=22014
2007-02-27 Sven Neumann <sven@gimp.org>
* app/core/gimpsubprogress.[ch]: allow the parent progress to be NULL.
Documented the API.
* app/core/gimpimage-scale.c: use the sub-progress unconditionally.
svn path=/trunk/; revision=22010
2007-02-27 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpsubprogress.[ch]: added GimpSubProgress, an
object
that implements the GimpProgress interface and maps progress
information to a sub-range of the parent progress.
* app/core/gimpimage-scale.c (gimp_image_scale): use the new
object.
svn path=/trunk/; revision=22009
2007-02-26 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c (normalize_coords): removed a
redundant condition and marked another one as unlikely.
svn path=/trunk/; revision=22008
2007-02-26 Sven Neumann <sven@gimp.org>
* app/tools/gimptransformtool.c (gimp_transform_tool_doit): queue
a redraw of the display shell instead of exposing the transform
preview. Removes annoying flicker when the tool is finished.
svn path=/trunk/; revision=22004
2007-02-26 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c: moved common code to an
inlined function. gimp_transform_region_lanczos() now also does
supersampling. Removed boundary checks and clamping as
PixelSurround and read_pixel_data_1() already deal with this for
us. Gives another small speedup.
svn path=/trunk/; revision=21999
2007-02-26 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c (gimp_transform_region_lanczos):
use PixelSurround instead of read_pixel_data_1(). This yields a
dramatic speedup.
svn path=/trunk/; revision=21998
2007-02-26 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c (gimp_transform_region_lanczos):
iterate over tiles instead of rows in the destination buffer.
svn path=/trunk/; revision=21997
2007-02-24 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c (gimp_transform_region): moved
linear and cubic code to their own functions and let them iterate
over tiles instead of rows in the destination buffer.
svn path=/trunk/; revision=21996
2007-02-24 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c
(gimp_transform_region_nearest):
operate on tiles instead of iterating row by row.
svn path=/trunk/; revision=21988
2007-02-24 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c (gimp_transform_region):
moved nearest-neighbor code to it's own function to improve
performance and readability.
svn path=/trunk/; revision=21987
2007-02-23 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c (gimp_transform_region):
moved
lanczos code into it's own function to improve readability.
svn path=/trunk/; revision=21986
2007-02-23 Sven Neumann <sven@gimp.org>
* app/base/pixel-surround.[ch]: do less tile lock and release
operations by reusing the last locked tile if possible. Allow to
call pixel_surround_lock() several times without unlocking.
* app/core/gimp-transform-region.c: don't unlock the PixelSurround
so that the locked tile can be reused. Yields about 30% speedup
for transformations.
svn path=/trunk/; revision=21984
2007-02-22 Sven Neumann <sven@gimp.org>
* app/base/pixel-surround.c: allocate the PixelSurround struct and
its buffer in one chunk.
svn path=/trunk/; revision=21980
2007-02-22 Sven Neumann <sven@gimp.org>
* app/base/base-types.h
* app/base/pixel-surround.[ch]: hide PixelSurround struct and
cleaned up the PixelSurround API.
* app/core/gimp-transform-region.c: changed accordingly. Also
sprinkled some const qualifiers.
svn path=/trunk/; revision=21978
2007-02-22 Sven Neumann <sven@gimp.org>
* app/base/tile.[ch]: made tile_ref_count a static variable and
added a function to access it. Declared other (unused) global
counters as static variables and moved them into #ifdefs.
* app/base/tile-swap.c: use the function instead of declaring
tile_ref_count as extern.
* app/base/tile-manager.c
* app/base/pixel-surround.c: cosmetics.
svn path=/trunk/; revision=21975
2007-02-20 Tor Lillqvist <tml@novell.com>
* app/widgets/gimpcontrollereditor.c
(gimp_controller_editor_sel_changed): Guard against event being
NULL.
svn path=/trunk/; revision=21963
2007-02-20 Sven Neumann <sven@gimp.org>
* app/dialogs/authors.xsl: changed XPath expression to only match
on contributors that have been active in the 2.4 development cycle.
svn path=/trunk/; revision=21959
2007-02-20 Sven Neumann <sven@gimp.org>
* app/dialogs/Makefile.am: let authors.h depend on authors.xsl.
* app/dialogs/authors.h: removed from repository, it's
generated.
* app/dialogs/authors.xsl: only include contributors that have
contributed to GIMP 2.x. We might want to limit this even
further.
svn path=/trunk/; revision=21956
2007-02-18 Michael Natterer <mitch@gimp.org>
* app/text/gimptext-parasite.c
* plug-ins/flame/libifs.c: use g_strtod() instead of atof()
because these files have to parse strings that never had a clearly
specified format.
* plug-ins/script-fu/tinyscheme/scheme.c
* plug-ins/imagemap/imap_cern.l
* plug-ins/imagemap/imap_csim.l
* plug-ins/imagemap/imap_csim.y
* plug-ins/imagemap/imap_ncsa.l: use g_ascii_strtod() instead of
atof() because scheme code and imagemap files with wrong decimal
separators are clearly broken and should be rejected.
* plug-ins/imagemap/imap_cern_lex.c
* plug-ins/imagemap/imap_csim_lex.c
* plug-ins/imagemap/imap_csim_parse.c
* plug-ins/imagemap/imap_ncsa_lex.c: regenerated.
* plug-ins/common/sample_colorize.c: round numbers using sane code
instead of sprintf() and atod().
* plug-ins/Lighting/lighting_ui.c: removed some dead code.
svn path=/trunk/; revision=21942
2007-02-18 Sven Neumann <sven@gimp.org>
* app/actions/edit-commands.c (edit_copy_cmd_callback): show an
informational message in the statusbar. There is otherwise no
indication that something has happened.
svn path=/trunk/; revision=21940
2007-02-18 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimppluginprocedure.[ch]: add "locale_domain" and
"help_domain" members and APIs to get/set them. Removed locale and
help domain parameters from all other functions.
* app/plug-in/gimpplugin.c (gimp_plug_in_add_temp_proc)
* app/plug-in/plug-in-def.c (plug_in_def_add_procedure)
(plug_in_def_set_locale_domain_name)
(plug_in_def_set_help_domain_name): make sure all plug-in procedures
have locale and help domains.
* app/plug-in/gimppluginmanager.[ch]: removed function
gimp_plug_in_manager_get_label().
* app/plug-in/gimppluginmanager.c
* app/plug-in/gimpplugin-cleanup.c
* app/actions/plug-in-actions.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpfileprocview.c
* app/widgets/gimpimagepropview.c: changed (simplified) accordingly.
svn path=/trunk/; revision=21937
2007-02-18 Sven Neumann <sven@gimp.org>
* app/widgets/gimppixbuf.c (gimp_pixbuf_targets_add): skip
Windows
ICO as writable format. It's not well suited as a general image
exchange format and the GdkPixbuf save routine seems to be
buggy.
svn path=/trunk/; revision=21936
2007-02-17 Michael Natterer <mitch@gimp.org>
* app/core/gimp-utils.[ch]
* app/core/gimp.c
* app/widgets/gimpcontrollerinfo.c
* libgimpwidgets/gimpcontroller.c: removed various boolean_handled
signal accumulators and use g_signal_accumulator_true_handled().
svn path=/trunk/; revision=21933
2007-02-16 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-close.c: use GTK_STOCK_SAVE as icon
for the message dialog.
* app/actions/data-commands.c (data_delete_cmd_callback): improved
delete dialog.
svn path=/trunk/; revision=21928
2007-02-14 Sven Neumann <sven@gimp.org>
* app/actions/plug-in-actions.c
* app/plug-in/gimppluginprocedure.[ch]: added utility function to
retrieve the translated blurb of a plug-in procedure. Make sure
that gettext isn't called with the empty string.
svn path=/trunk/; revision=21917
2007-02-14 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c: when multi-line strings end up
being passed to the statusbar, only show the first line.
svn path=/trunk/; revision=21916