2005-03-21 Michael Natterer <mitch@gimp.org>
* app/tools/gimpmeasuretool.[ch]: added width and height to the
info displayed in the statusbar and the info window.
Fixes bug #165275.
* app/core/gimpimage-convert.c: check for non-empty palette
before converting to indexed using custom palette, otherwise
show warning and abort; fixes bug #170973.
2005-03-19 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-sample-points.c
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell.c
* app/tools/gimpcolortool.c: make sure sample points always have
coordinates in the range [0..width/height-1], also added lots of
+0.5 because they live at the pixels' centers, not at their
borders. Fixed drawing of sample points at the display borders.
2005-03-19 Manish Singh <yosh@gimp.org>
* app/config/Makefile.am: actually link test program with
libgimpconfig.
* app/Makefile.am
* libgimpwidgets/Makefile.am: reordered library link order to be
consistent with shared library dependencies.
* plug-ins/common/mkgen.pl: Cosmetic fix to the generated Makefile.am.
* plug-ins/common/Makefile.am: regenerated.
* app/core/gimpimage-convert.c: when converting grayscale
to mono, treat the palette as gray rather than rgb, giving
more than tenfold speedup. Fixes bug #170801.
* app/paint-funcs/paint-funcs.c
* app/paint-funcs/paint-funcs-generic.h: fix bug #143315. When the
visibility of the Alpha channel is turned off, it should make alpha=255.
2005-03-13 Sven Neumann <sven@gimp.org>
* app/dialogs/print-size-dialog.c (print_size_dialog_response):
handle the resolution unit correctly, fixes bug #170200.
2005-03-13 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/drawable_transform.pdb
(drawable_transform_scale)
(drawable_transform_scale_default): applied fix from Theodor de
Ment which fixes a wrong precondition check which made certain
scale operations impossible. Fixes bug #170195.
* tools/pdbgen/pdb/transform_tools.pdb (scale): fixed the same
copy & paste bug here.
* app/pdb/drawable_transform_cmds.c
* app/pdb/transform_tools_cmds.c: regenerated.
2005-03-12 Sven Neumann <sven@gimp.org>
* app/base/hue-saturation.[ch]
* app/tools/gimphuesaturationtool.[ch]: applied a patch from Joao
S. O. Bueno Calligaris and modified it a little. This adds a way
to control the overlap between hue ranges in the Hue Saturation
tool (bug #166628).
* libgimpwidgets/gimpsizeentry.[ch]: added function
gimp_size_entry_show_unit_menu() for convenience.
* app/tools/gimprectangleoptions.[ch]
* app/tools/gimprectangletool.[ch]: more work on
controls in Tool Options. Can now resize rectangle
by dragging any corner or edge -- move rectangle by
clicking inside and dragging.
* app/vectors/gimpvectors-warp.c
* app/vectors/gimpvectors-warp.h: new files implmenting
"path along a path" functionality.
* app/vectors/Makefile.am: new stuff added
* gimp/app/vectors/gimpvectors.[ch]: actually implement
gimp_vectors_real_stroke_get_length().
* app/tools/gimptexttool.c
* app/tools/gimptextoptions.c: first pass at "text
along a path", using new functions. See bug #169616.
2005-03-09 Michael Natterer <mitch@gimp.org>
More sample point stuff. Addresses bug #137776.
* app/core/gimpimage-sample-points.c
* app/core/gimpimage-undo-push.c: append, not prepend the sample
paints to the image's list because their index matters. Update
sample points when their index changes.
* app/display/gimpcanvas.[ch]: added own sytles for the sample
points. Added gimp_canvas_draw_text() which uses a PangoLayout
which is cached in the canvas.
* app/display/gimpdisplayshell-draw.c
(gimp_display_shell_draw_sample_point): draw the sample points
more distinct from guides using the new canvas APIs above.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_[hv]ruler_button_press): factored out all
code to
(gimp_display_shell_ruler_burron_press): which takes a boolean
"horizontal" variable and allows to add sample points with
<control>+drag.
* app/tools/gimpcolortool.[ch]: implement adding, moving and
removing of sample points in the same way as the move tool moves
guides.
* app/tools/gimpcolorpickertool.c
(gimp_color_picker_tool_oper_update): chain up.
2005-03-08 Sven Neumann <sven@gimp.org>
* app/core/gimpgradient.c (gimp_gradient_segment_split_uniform):
fixed brokeness introduced I when eliminating gradient->last_visited.
* app/widgets/gimpviewrenderergradient.c:
(gimp_view_renderer_gradient_render): Make sure specified
point lies within specified gradient segment; should
fix bug #167604.
2005-03-08 Sven Neumann <sven@gimp.org>
* app/tools/gimppaintoptions-gui.c (fade_options_gui)
(gradient_options_gui)
* app/tools/gimpselectionoptions.c (gimp_selection_options_gui):
call gimp_unit_menu_set_pixel_digits() after connecting up the
spinbuttons and the unitmenu. Fixes initial display (bug #169066).
2005-03-08 Sven Neumann <sven@gimp.org>
* app/core/gimppalette.[ch]: renamed gimp_palette_[gs]et_n_columns
to gimp_palette_[gs]et_num_columns().
* app/dialogs/palette-import-dialog.c
* app/widgets/gimppaletteeditor.c: changed accordingly.
* tools/pdbgen/pdb/palette.pdb: added new PDB function to control
the number of columns used when displaying a palette (bug #169370).
* app/pdb/internal_procs.c
* app/pdb/palette_cmds.c
* libgimp/gimppalette_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
2005-03-07 Sven Neumann <sven@gimp.org>
* app/tools/gimpellipseselecttool.c
* app/tools/gimprectselecttool.[ch]: applied a patch by Nils
Bjorklund that should fix bug #143887 (selection rectangle "moves"
when starting at the top-right corner).
2003-03-06 Manish Singh <yosh@gimp.org>
* app/composite/gimp-composite-altivec-installer.c
* app/composite/gimp-composite-altivec-test.c: regenerated so the new
implementation is actually used.
2003-03-06 Manish Singh <yosh@gimp.org>
* configure.in: revised tests for AltiVec. Define ALTIVEC_EXTRA_CFLAGS
for the extra compiler options needed. Also, support runtime checking
for AltiVec through the sysctl on Mac OS X, instead of SIGILL assembly
instruction checking, which needs GNU as.
* app/base/cpu_accel.c: use the sysctl if available.
* app/composite/Makefile.am: use ALTIVEC_EXTRA_CFLAGS.
* app/composite/gimp-composite-altivec.c: conditionally #include
altivec.h
* app/composite/gimp-composite-altivec.[ch]
* app/composite/gimp-composite-altivec-installer.c
* app/composite/gimp-composite-altivec-test.c:
Added updates from starox-gimp@starox.org
(Frederic Leroy) to implement Altivec instruction optimisations.
Regenerated sources.
* app/composite/gimp-composite-mmx.c: Replaced a pesky movntq
instruction with a movq. Movntq is an SSE instruction, not an MMX
instruction.
* app/composite/gimp-composite-generic.c
* app/composite/gimp-composite-mmx.c
* app/composite/gimp-composite-sse.c
Incorporated a very clean patch from starox-gimp@starox.org
(Frederic Leroy) which improves the generic performance of the
burn compositing function. Speed is improved at a cost of a 64k
look-up table which is probably manageable for 8bpp images, but at
larger bpp images (which currently are not supported by the GIMP)
this is unlikely to be tolerable.
The generic C implementation of the burn function uses this
look-up table, the mmx/sse implementations have been commented out.
2005-03-04 Michael Natterer <mitch@gimp.org>
* app/tools/gimptoolcontrol.[ch]: in the spirit of the fix for bug
#165618 below, allow tools to specify up to two "object actions"
(actions which select brushes, patterns, ...).
* app/tools/gimpblendtool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimpclonetool.c
* app/tools/gimppainttool.c
* app/tools/gimptexttool.c: set actions where appropriate.
* app/actions/actions.c (action_select_object): allow objects to
be selected by index.
* app/actions/context-actions.c: added actions which select
objects by index. Not really used but the same actions can be used
to generically pass any GimpActionSelectType enum value to the
action callbacks.
* app/actions/tools-actions.c
* app/actions/tools-commands.[ch]: added actions and callbacks
for the new generic tool objects.
Also fixed and cleaned up the new generic tool value code.
2005-03-04 Michael Natterer <mitch@gimp.org>
Fixed bug #165618:
* app/tools/gimptoolcontrol.[ch]: added new functions
gimp_tool_control_set/get_action_value_1/2/3/4() which allow tools
to specify their primary, secondary etc. "values" using
action-identifying strings like "context/context-brush-radius-set".
* app/tools/gimpblendtool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimpcolortool.c
* app/tools/gimpinktool.c
* app/tools/gimppainttool.c: set actions where appropriate. Still
needs some way to document the mapping in a user-visible way.
* app/tools/gimpblendtool.c
* app/tools/gimpbucketfilltool.c: tab removal and minor cleanups.
* app/actions/actions.[ch]: added utility function
action_select_property().
* app/actions/tools-actions.c
* app/actions/tools-commands.[ch]: added actions and callbacks for
setting the ink blob size, aspect and angle. Also added actions
and callbacks for the new generic tool values.
* app/composite/make-installer.py:Applied patch from
starox-gimp@starox.org (Frederic Leroy) which fixed the parser of
the nm programme output to understand the output on 64bit
machines. Fixes bug #168529
* app/composite/ns.py:
Applied patch from starox-gimp@starox.org (Frederic Leroy) which
fixed a bug that would appear when only one compositing function
was implemented. Fixes bug #168529
Regenerated app/composite function tables.
2005-03-02 Sven Neumann <sven@gimp.org>
* app/dialogs/resize-dialog.c (resize_dialog_reset)
* app/dialogs/scale-dialog.c (scale_dialog_reset): don't rely on
GObject internals about the order in which properties are being
set. Fixes one aspect of bug #169011.
* app/tools/gimprectangletool.c
* app/tools/gimprectangletool.h
* app/tools/gimprectangleoptions.c
* app/tools/gimprectangleoptions.h: new code for base
class for rectangle tools.
* app/tools/gimpnewrectselecttool.[ch]: modified to
derive from GimpRectangleTool.
* app/tools/Makefile.am: modified accordingly
* app/tools/gimpselectionoptions.[ch]: remove stuff
no longer needed by new rect select tool.
This is work in progress.
2005-03-01 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch]: added VISIBLE and LINKED to the
GimpImageResizeLayers enum.
* app/core/gimpimage-resize.c (gimp_image_resize_with_layers):
changed accordingly. Also looks nicer now.
2005-02-28 Sven Neumann <sven@gimp.org>
* app/widgets/gimphelp.c (gimp_help_get_locales): use
g_get_language_names().
* plug-ins/help/locales.c (locales_parse): simplified;
g_get_language_names() already takes care of this.
2005-02-27 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-blend.c: fixed rounding errors in the
non-dithered case and optimized the dithering code.
2005-02-27 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-blend.c: (hopefully) improve the threaded
performance by using a dedicated RNG per tile.
2005-02-27 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-convert-fsdither.h
* app/core/gimpimage-convertc: save a kilobyte of data by using
guchar for the range array.
2005-02-27 Sven Neumann <sven@gimp.org>
* app/core/gimpgradient.[ch]: removed the "last_visited" field
from GimpGradient. Instead added the new function
gimp_gradient_get_color_at_segment() that allows the caller to do
the same optimization.
* app/actions/gradient-editor-commands.c
* app/core/gimpdrawable-blend.c
* app/core/gimppalette-import.c
* app/paint/gimppaintoptions.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimpviewrenderergradient.c: changed accordingly.
* app/pdb/gradient_cmds.c
* app/pdb/gradients_cmds.c: regenerated.
2005-02-26 Sven Neumann <sven@gimp.org>
* app/base/pixel-processor.c (do_parallel_regions): obtain a lock
on the pool mutex while signalling the termination condition.
2005-02-24 Jay Cox <jaycox@gimp.org>
>
> * app/base/pixel-processor.c: fixed potential race condition on
> processor->threads. Changed mutex to a GMutex from a GStaticMutex
> because it needs to me initialized anyway. Placed g_cond_wait
> calls inside while loops to handle g_cond_wait returning prematurely.
2005-02-24 Sven Neumann <sven@gimp.org>
* app/actions/file-commands.c (file_open_as_layer_cmd_callback):
preselect the image just as in file_open_from_image_cmd_callback().
2005-02-24 Michael Natterer <mitch@gimp.org>
Allow to resize layers with the image. Fixes bug #87789.
* app/core/core-enums.[ch]: added enum GimpImageResizeLayers which
can be one of { NONE, MATCHING, ALL }.
* app/core/gimpimage-resize.[ch]: added new function
gimp_image_resize_with_layers().
* app/dialogs/resize-dialog.[ch]: added a "Layers" frame
containing a "Resize Layers" combo box offering the choices above.
Changed GimpResizeCallback signature accordingly.
* app/actions/image-commands.c
* app/actions/layers-commands.c: changed accordingly.
2005-02-22 Shlomi Fish <shlomif@iglu.org.il>
* tools/pdbgen/pdb/channel.pdb: add the
gimp_channel_new_from_component() PDB function.
* libgimp/gimpchannel_pdb.c
* app/pdb/channel_cmds.c: resultant files.
* libgimp/gimp.def: add the new function to the def file
* devel-docs/libgimp/libgimp-sections.txt: add the new function
to devel-docs
2005-02-22 Michael Natterer <mitch@gimp.org>
* app/tools/gimpmagnifytool.c (gimp_magnify_tool_init)
* app/tools/gimpmeasuretool.c (gimp_measure_tool_init)
* app/tools/gimpvectortool.c (gimp_vector_tool_init): set
handles_empty_image to TRUE because all these tools work fine
without active drawable.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): also look at
handles_empty_image, not only at gimp_image_is_empty() before
setting the BAD cursor.
2005-02-21 Manish Singh <yosh@gimp.org>
* app/text/gimpfont-utils.[ch]: be smarter about finding trailing
numbers that look like sizes, so we don't have spurious commas.
* app/text/gimpfontlist.c: As an optimization, figure out if
pango needs a workaround, and if not, just call it directly.
2005-02-21 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): put back some important
code that was accidentially removed when fixing bug #162823. Also
moved the calls to gtk_grab_add() and gtk_grab_remove() around a
bit.
2005-02-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptoolbox.c (toolbox_area_notify): apply evil
size_request hacks to the color/image/foo areas' wrapbox because
its child requisition/allocation code is apparently broken. Works
around bug #162500.
2005-02-20 Manish Singh <yosh@gimp.org>
Support for custom plug-in interpreters, independent of OS support.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpinterpreterdb.[ch]: implemented GimpInterpreterDB,
which handles registering and resolving custom plug-in interpreters.
* app/core/gimp.[ch]: keep a GimpInterpreterDB around.
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h
* app/dialogs/preferences-dialog.c
* app/dialogs/user-install-dialog.c
* app/widgets/gimphelp-ids.h: interpreter-path config stuff.
* app/plug-in/plug-in.c: use registered interpreters when running
plug-ins.
* themes/Default/images/preferences/Makefile.am
* themes/Default/images/preferences/folders-interp.png: just copied
folders-plug-ins.png here, need a better one.
* data/interpreters/Makefile.am: creates system interpreter directory.
* data/interpreters/default.interp: sample interpreter file info.
* data/Makefile.am
* configure.in: add data/interpreters directory.
* plug-ins/pygimp/Makefile.am: install pygimp.interp, which configures
the python interpreter to point to the python we were built with. Also
register the .py extension.
* etc/gimprc
* docs/gimprc.5.in: regenerated
2005-02-21 Sven Neumann <sven@gimp.org>
Another step towards color management:
* modules/Makefile.am
* modules/cdisplay_lcms.c: added new color display module that
implements color management for the image displays. Still work
in progress...
* modules/cdisplay_proof.c: no need to include <string.h> here.
* libgimpconfig/gimpcolorconfig.[ch]: added new property
"display-module" to configure the display color management module.
* app/display/gimpdisplayshell-filter.[ch]
* app/display/gimpdisplayshell.c: create the configured color
management display filter for each display.
2005-02-20 Sven Neumann <sven@gimp.org>
* app/actions/context-actions.c
* app/actions/context-commands.c[ch]: added actions to control the
average radius of color picker tools (bug #167765).
* app/actions/tool-options-actions.c: fixed a typo in a comment.
2005-02-20 Sven Neumann <sven@gimp.org>
* app/dialogs/user-install-dialog.c: migrate gimp-2.2 settings if
available. Pass the version to gimp_templates_migrate().
* app/core/gimp-templates.[ch] (gimp_templates_migrate): if
migrating templaterc from ~/.gimp-2.0, do a case-insensitive match
on template names to accommodate for the fact that we changed the
spelling of some default templates between 2.0 and 2.2.
2005-02-19 Michael Natterer <mitch@gimp.org>
* app/tools/gimptexttool.c (gimp_text_tool_create_layer): block
the "active-layer-changed" callback while anchoring the floating
selection so the callback doesn't reset the text tool in the
middle of adding a new text layer. Fixes bug #166829.
2005-02-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockable.c
* app/widgets/gimphelp-ids.h: added a tooltip and a help-id for the
dockable menu.
2005-02-19 Hans Breuer <hans@breuer.org>
* app/base/pixel-processor.c : TILE_WIDTH is used unconditionally
so always include "tile.h"
* app/base/tile-swap.c : WIN32 needs <process.h> for _getpid()
* app/dialogs/user-install-dialog.c : include gimpwin32-io.h
* libgimpbase/gimpwin32-io.h : there are no group or other
flags in msvcrt, define S_IGRP etc in terms of _S_IREAD etc
* plug-ins/script-fu/script-fu.c plug-ins/script-fu/siod-wrapper.c :
no script-fu server on win32, make respective function calls conditional
* libgimpconfig/makefile.msc : new file
* **/makefile.msc app/gimpcore.def : updated, gimp builds
and runs once more with ms toolchain
2005-02-18 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c: unset the CAN_FOCUS flag on the
combo boxes and the cancel button. Set "focus-on-click" to FALSE
for the combo boxes. Fixes bug #167809.
2005-02-18 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/gimpdrawable-convert.[ch]: new files holding
gimp_drawable_convert_rgb() and gimp_drawable_convert_grayscale()
moved out of gimpimage-convert.[ch].
* app/core/gimpchannel.c
* app/core/gimpimage-convert.[ch]
* app/core/gimplayer.c: changed accordingly.
2005-02-18 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-convert.c: some simple loop unrolling,
converted tabs to spaces and sprinkled the code with const
qualifiers.
2005-02-17 Sven Neumann <sven@gimp.org>
* app/widgets/gimpviewrenderergradient.c
(gimp_view_renderer_gradient_render): don't attempt to read beyond
the pre-calculated render buffers, even if the gradient somehow
has out-of-bounds values. Fixes the crash reported in bug #167604.
2005-02-17 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontainercombobox.c
* libgimpwidgets/gimpintcombobox.c: set the "ellipsize" property
on the text cell-renderer. Not sure if it's a good idea to
hardcode this for GimpIntComboBox, but let's give it a try. Fixes
bug #136676.
2005-02-16 Sven Neumann <sven@gimp.org>
* app/base/pixel-processor.c: switched to using a thread pool.
Enables the progress callback for the threaded case.
2005-02-16 Sven Neumann <sven@gimp.org>
* app/base/pixel-processor.[ch]: added a variant of
pixel_regions_process_parallel() that takes a progress callback and
progress data. Does only work for the single-threaded case yet.
* app/core/gimpdrawable-blend.c (gradient_fill_region): parallelized.
2005-02-15 Sven Neumann <sven@gimp.org>
* app/core/gimpimagemap.[ch]: changed GimpImageMapApplyFunc to
be compatible with PixelProcessorFunc.
* app/base/color-balance.[ch]
* app/base/colorize.[ch]
* app/base/gimplut.[ch]
* app/base/hue-saturation.[ch]
* app/base/threshold.[ch]: removed wrappers that used to
shift parameters around to match GimpImageMapApplyFunc and
PixelProcessorFunc signatures.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: changed accordingly.
* tools/pdbgen/pdb/color.pdb: use pixel_region_process_parallel()
for all color operations.
* app/pdb/color_cmds.c: regenerated.
2005-02-15 Sven Neumann <sven@gimp.org>
* app/main.c (gimp_init_malloc): added a comment about the use of
mallopt() and what could be done instead. Use the TILE_WIDTH and
TILE_HEIGHT defines to determine the M_MMAP_THRESHOLD value.
2005-02-14 Sven Neumann <sven@gimp.org>
* app/base/gimphistogram.c: allocate histogram slots in one large
block instead of multiple smaller chunks. Hide pointer arithmetic
in macros.
2005-02-14 Sven Neumann <sven@gimp.org>
* app/config/gimprc-blurbs.h
* app/dialogs/offset-dialog.c
* plug-ins/common/displace.c
* plug-ins/script-fu/scripts/rendermap.scm
* plug-ins/script-fu/scripts/ripply-anim.scm: use the american
spelling of "behaviour". Fixes bug #167267.
2005-02-14 Michael Natterer <mitch@gimp.org>
* app/dialogs/file-save-dialog.c (file_save_dialog_check_uri):
when appending an extension, update the filename entry so the user
can see what's going on. Added even more debugging output.
2005-02-14 Sven Neumann <sven@gimp.org>
* app/base/gimphistogram.[ch]: allocate temporary histogram slots
on demand and provide an array with enough slots for the maximum
number of threads. gimp_histogram_new() doesn't need a
GimpBaseConfig parameter any longer.
* app/core/gimpdrawable-equalize.c
* app/core/gimpdrawable-levels.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/tools/gimpthresholdtool.c
* app/widgets/gimphistogrameditor.c
* tools/pdbgen/pdb/color.pdb: changed accordingly.
* app/pdb/color_cmds.c: regenerated.
2005-02-14 Sven Neumann <sven@gimp.org>
* app/base/pixel-processor.[ch]: define the maximum number of
threads in the header file.
* app/config/gimpbaseconfig.c: use the #define.
2005-02-13 Sven Neumann <sven@gimp.org>
* configure.in
* app/base/tile-cache.c
* app/base/tile-private.h
* app/base/tile-swap.c
* app/base/tile.c: in an attempt to safe this code from bit-rot,
ported the experimental threaded tile-swapper to gthread.
2005-02-13 Sven Neumann <sven@gimp.org>
* app/base/pixel-processor.c: some more cleanup; introduced a
#define to control the number of tiles per thread.
2005-02-13 Sven Neumann <sven@gimp.org>
* app/base/base.c: fixed typo.
* app/config/gimpbaseconfig.c: reverted last change,
"num-processor" doesn't need a confirmation.
2005-02-13 Michael Natterer <mitch@gimp.org>
* app/file/file-save.[ch]: removed file_save() and renamed
file_save_as() to file_save() which always requires "uri" and
"file_proc" to be passed. This functions does no more file_proc by
extension finding and stuff.
* app/actions/file-commands.c (file_save_cmd_callback): only call
file_save() if the image has both uri and save_proc, fall back to
file_save_as_cmd_callback() otherwise.
* app/dialogs/file-save-dialog.c: completely chopped and
reconstructed. Added tons of checks for extension vs. save_proc
consistency and ask the user if she really wants to save weird
stuff. Added masive debugging output because I'm far from certain
that everything is correct.
2005-02-13 Sven Neumann <sven@gimp.org>
* app/base/base.c
* app/base/tile-swap.[ch]: moved some code from base_init() into
tile_swap_init().
* app/base/pixel-processor.[ch]: prepared for porting to GThreadPool.
* app/config/gimpbaseconfig.c: changed "num-processors" option to
require a confirmation before being changed.
2005-02-13 Sven Neumann <sven@gimp.org>
* app/core/gimpprogress.c (gimp_progress_start): accept an empty
string.
* app/plug-in/plug-in-progress.c: if NULL is passed as message to
plug_in_progress_start(), set an empty string on the progress.
* tools/pdbgen/pdb/progress.pdb:
* libgimp/gimpprogress.[ch]: wrap the new gimp_progress_set_text()
PDP function with a function that accepts printf-like arguments.
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* lots of plug-ins, most of them file plug-ins:
use gimp_progress_init(NULL) followed by gimp_progress_set_text()
to initialize the progress using the new API instead of constructing
a temporary string.
2005-02-12 Michael Natterer <mitch@gimp.org>
* app/dialogs/file-save-dialog.c (file_save_dialog_response): use
gtk_file_chooser_set_uri() to check if a file exists. Seems to
work reliably even for remote files and fixes the issue i
mentioned below.
2005-02-12 Sven Neumann <sven@gimp.org>
Changes suggested in bug #167200:
* plug-ins/common/unsharp.c: increased maximum value for Amount.
* app/tools/gimplevelstool.c: changed increments for gamma
spinbutton.
* app/tools/gimpcoloroptions.c: increased maximum radius for color
picking to 300 pixels and made the slider logarithmic.
2005-02-12 Sven Neumann <sven@gimp.org>
* app/tools/gimpcoloroptions.c: increased maximum radius for color
picking to 300 pixels and made the slider logarithmic.
2005-02-12 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-in-progress.c (plug_in_progress_start): only
set progress value to 0.0 if it isn't 0.0 already. Allows to use
gimp_progress_init() to change the progress message w/o causing
gtk_progress_bar_set_fraction() to be called.
* plug-ins/uri/uri-backend-gnomevfs.c: use gimp_progress_pulse()
if the filesize is unknown. Also limit frequency of progress
updates.
2005-02-12 Michael Natterer <mitch@gimp.org>
* app/dialogs/file-open-dialog.c (file_open_dialog_response)
* app/dialogs/file-save-dialog.c (file_save_dialog_response):
don't bail out if filename_from_uri() returns NULL. Perform
checks for G_FILE_TEST_IS_REGULAR and G_FILE_TEST_EXISTS
only on local files.
(This brings up the problem that we will overwrite existing remote
files without warning. Need to fix that before enabling remote
files in GimpFileDialog).
2005-02-12 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpbaseenums.h (enum GimpProgressCommand):
added GIMP_PROGRESS_COMMAND_PULSE.
* libgimpbase/gimpbaseenums.c
* plug-ins/pygimp/gimpenums.py
* tools/pdbgen/enums.pl: regenerated.
* app/core/gimppdbprogress.c: implement GimpProgress::pulse()
and send a PULSE command to the callback.
* libgimp/gimpprogress.c: handle PULSE by calling the set_value()
callback with a value of -1 and document that hack in the API docs.
* libgimp/gimpprogressbar.c: interpret -1 as request to pulse.
2005-02-12 Sven Neumann <sven@gimp.org>
* app/core/gimpprogress.[ch]: added GimpProgress::pulse.
* app/display/gimpdisplay.c
* app/display/gimpstatusbar.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpprogressbox.c
* app/widgets/gimpprogressdialog.c
* app/widgets/gimpthumbbox.c: implement it in the classes that
implement the GimpProgress interface.
* app/plug-in/plug-in-progress.[ch]: allow plug-ins to pulse their
progress.
* tools/pdbgen/pdb/progress.pdb: added a procedure for the new
functionality.
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
2005-02-11 Sven Neumann <sven@gimp.org>
* configure.in: enable support for multiple processors by default.
Hyperthreading and multicore CPUs are becoming common and we
should try to give this as much testing as possible.
* app/config/gimpbaseconfig.c: use two processors by default. Also
increased default tile-cache-size to 256MB.
2005-02-11 Sven Neumann <sven@gimp.org>
* app/widgets/gimptoolbox.c (toolbox_paste_received): drop
everything after the first newline and strip leading and trailing
whitespace from the pasted text.
2005-02-11 Sven Neumann <sven@gimp.org>
* app/actions/layers-actions.c
* app/actions/view-actions.c: added shortcuts for New
Layer (Shift-Ctrl-N, used to be the Navigation Dialog) and
Duplicate Layer (Shift-Ctrl-D).
2005-02-10 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcroptool.c
* app/tools/gimptransformtool.c: alternative button order for
the info dialogs (bug #166678).
2005-02-10 Sven Neumann <sven@gimp.org>
* app/file/file-save.c (file_save_as): applied a (slightly
modified) patch from Shlomi Fish that automatically adds the .xcf
extension if none is given (bug #165684).