2005-02-16 Kevin Cozens <kcozens@cvs.gimp.org>
* plug-ins/script-fu/siod-wrapper.c: Added constants MIN-IMAGE-SIZE,
MAX-IMAGE-SIZE, MIN-RESOLUTION, and MAX-RESOLUTION for use in Script-Fu
scripts. See comment #4 in bug #167529.
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.
* app/plug-ins/script-fu/scripts/guides-new.scm: committted
slightly modified patch from Joao S. O. Bueno Calligaris
to raise guide position limit to 262144.
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.
plug-ins/common/psd_save.c :
* Rewrote all the code that deals with pixels to be stingy with
* memory and opperate on tile-size chunks. Create a flattened
* copy of the image when necessary. Fixes file corruption bug
* #167139 and memory bug #121871
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>
* plug-ins/jpeg/jpeg-exif.c: use context specific labels for the
action buttons in the rotate confirmation dialog.
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>
* plug-ins/uri/uri-backend-gnomevfs.c: use gimp_memsize_to_string()
instead of always showing bytes with a translatable %llu format
string. Increased BUFSIZE to 4096.
* plug-ins/uri/uri-backend-wget.c (uri_backend_load_image): don't
leak the memsize string. Use sizeof(buf) instead of BUFSIZE.
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>
* plug-ins/common/displace.c: applied a modified patch from Joao
S. O. Bueno Calligaris that adds a polar mode to the Displace
plug-in (bug #161131).
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).
2005-02-09 Manish Singh <yosh@gimp.org>
* app/text/gimpfont-utils.[ch]: new function to workaround pango
bug #166540, by tacking on a ',' to font names that end in numbers,
so pango_font_description_from_string doesn't interpret it as a size.
* app/text/Makefile.am: add above files.
* app/text/gimpfontlist.c
* app/text/gimptext-compat.c: use new function.
* app/text/gimptext-xlfd.c: also make sure font names pulled out
from XLFD don't end in numbers.
* app/text/gimpfont.c
* app/text/gimptextlayout.c: remove some redundant checks.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): For testing, apply
patch switching display-wide grab to app-wide grab while
handling button-release event, see bug #162823.
2005-02-09 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpsizeentry.[ch]
* libgimpwidgets/gimpwidgets.def: added new function
gimp_size_entry_set_activates_default().
* app/dialogs/image-new-dialog.c: set the initial focus on the
Width entry and set the activates_default flag for the size entry.
Fixes bug #165748.
2005-02-09 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.[ch]
* app/display/gimpstatusbar.c: pass an action label to
gimp_scale_combo_box_add_action().
2005-02-09 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.[ch]
* app/display/gimpstatusbar.c: add an "Other..." item to the scale
menu in the image window. Somewhat hackish but fixes bug #143747.
2005-02-09 Michael Natterer <mitch@gimp.org>
* app/core/gimpimagefile.c
* app/widgets/gimpthumbbox.c: enable explicit (not automatic while
browsing the list of files) thumbnailing of remote files
2005-02-08 Sven Neumann <sven@gimp.org>
* app/app_procs.[ch]
* app/gui/gui.[ch]
* app/main.c: simplified initialization by passing GOptionContext
to app_libs_init() and gui_libs_init().
2005-02-08 Michael Natterer <mitch@gimp.org>
* app/main.c: removed SIGCHLD handler which used to call
waitpid(-1,...) because this breaks all waitpid(pid,...) calls
in a non-deterministic way. Apparently it is possible to use both
SIG_DFL *and* SA_RESTART (SA_RESTART being the original reason
why the call to sigaction() was introduced).
* app/plug-in/plug-in.c (plug_in_close): don't have a million
subsequent if(plug_in->pid) blocks. Put everything into one big
if(plug_in->pid) block instead. Call g_spawn_close_pid() on all
platforms instead of using the Win32 CloseHandle().
2005-02-08 Michael Natterer <mitch@gimp.org>
* app/actions/actions.c (action_data_get_widget): return the
active display's shell instead of the toolbox when called from the
<Image> popup. Fall back to the toolbox if there is no active
display. Fixes bug #166012.
2005-02-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpuimanager.[ch]: removed gimp_ui_manager_ui_get()
and implement the new virtual functions GtkUIManager::get_widget()
and ::get_action() instead. Menu loading happens transparently now.
* app/display/gimpdisplayshell.c
* app/widgets/gimpdockable.c
* app/widgets/gimptexteditor.c
* app/widgets/gimptoolbox.c
* app/widgets/gimptooloptionseditor.c: use
gtk_ui_manager_get_widget() instead of the removed
gimp_ui_manager_ui_get().
2005-02-08 Sven Neumann <sven@gimp.org>
Applied a patch from Patrice Tremblay that makes (almost) all
dialogs obey the "gtk-alternative-button-order" setting
(bug #166678). Changes too many files to list them all...
2005-02-08 Sven Neumann <sven@gimp.org>
* app/widgets/gimpgradienteditor.c (gimp_gradient_editor_init):
use "single-line-mode" for the hint labels. Should fix bug #157570.
2005-02-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpwidgets-constructors.[ch]: undeprecated the
paint mode menu (ported to GimpEnumComboBox with separators).
The separator code is quite hackish and therefore still
implemented privately here.
* app/widgets/gimpbrushselect.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimppropwidgets.c: changed accordingly.
2005-02-08 Michael Natterer <mitch@gimp.org>
* app/gui/gui.c (gui_display_changed): if display became NULL
(e.g. by closing a view) and we decide to activate another view
of the same image, stop the emission of the original
"display-changed" signal so it doesn't affect the toolbox'
UI manager. Fixes bug #159304.
2005-02-08 Sven Neumann <sven@gimp.org>
* plug-ins/winicon/icosave.c (ico_image_get_reduced_buf): fixed
bug in save routine for 256-slot palette (bug #162742).
2005-02-08 Sven Neumann <sven@gimp.org>
* libgimpconfig/gimpcolorconfig-enums.[ch]: gimp-mkenums doesn't
seem to like newlines in enum definitions.
* libgimpconfig/gimpcolorconfig.[ch]: removed the "profile-path"
property for now. It doesn't work too well with GimpFileEntry.
We can add it back later if it turns out that we really need it.
* app/dialogs/preferences-dialog.c
* app/widgets/gimphelp-ids.h: added a color management page to the
preferences dialog.
2005-02-07 Michael Natterer <mitch@gimp.org>
* plug-ins/uri/uri-backend.h: added backend methods for saving to
URIs.
* plug-ins/uri/uri.c: register a save procecure if the save method
is available, using some code from compressor.c
* plug-ins/uri/uri-backend-gnomevfs.c: implement saving.
* plug-ins/uri/uri-backend-wget.c: added saving stubs which always
fail.
2005-02-07 Sven Neumann <sven@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_add_filters): add
an "All Images" filter and select it by default.
2005-02-07 Michael Natterer <mitch@gimp.org>
* app/dialogs/file-open-location-dialog.c
(file_open_location_dialog_new): set "activates-default" on the
URI entry.
2005-02-07 Sven Neumann <sven@gimp.org>
* plug-ins/help/domain.c
* plug-ins/helpbrowser/dialog.c: same trick here; should allow to
work with help files installed in an UNC path.
2005-02-07 Sven Neumann <sven@gimp.org>
* app/dialogs/file-open-dialog.c
* app/dialogs/file-save-dialog.c
* app/widgets/gimpthumbbox.c: use file_utils_filename_from_uri()
in some more places.
* app/dialogs/file-open-location-dialog.c
* app/widgets/gimpselectiondata.c: deal with hostname in URIs.