2006-01-14 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig-utils.[ch] (gimp_config_connect_full):
variant of gimp_config_connect() which allows the connected
objects to have different propertynames.
* app/widgets/widgets-enums.[ch]: removed enum GimpViewType...
* app/core/core-enums.[ch]: ...and added it here.
* app/widgets/gimpviewablebutton.[ch] (gimp_viewable_button_new):
added "button_preview_size" parameter so the button and popup
preview sizes can be specified separately.
* app/widgets/gimptemplateeditor.c: changed accordingly.
* app/widgets/gimpviewablebox.[ch] (gimp_prop_*_box_new):
new functions which take additional "view_type_prop" and
"view_size_prop" parameters and sync the passed context's
properties with the resp. properties of the viewable button.
* app/paint/gimppaintoptions.[ch]
* app/tools/gimpbucketfilloptions.c
* app/tools/gimpclonetool.c
* app/tools/gimppaintoptions-gui.c
* app/tools/gimptextoptions.[ch]: added view-type and view-size
properties to the options objects and use the new viewable box
constructors so the selected view types and sizes are persistant
across sessions. Fixes bug #315443.
2006-01-02 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-convert-data.h
* app/core/gimpimage-convert.c: applied patch by Adam D. Moss that
replaces the default dither matrix by a 32x32 Bayer pattern (see
bug #136604).
2005-12-27 Michael Natterer <mitch@gimp.org>
Fixed incomplete core/ui separation of paint tools and paint
methods:
* app/core/core-enums.h
* app/core/gimpcontext.[ch]: added a "paint-info" property and API
so the current paint method can be selected without the need for
an active tool.
(gimp_context_real_set_tool): set the paint-info to
tool_info->paint_info so the paint method follows the active tool
just as the active image follows the active display.
* app/core/gimp.h (struct Gimp)
* app/core/gimppaintinfo.[ch]: added "standard_paint_info" API
and stuff to be consistent with other context object properties.
* app/paint/gimp-paint.c: set the paintbrush as
standard_paint_info.
* app/core/gimpstrokedesc.c (gimp_stroke_desc_new): removed the
hack of falling back to the paintbrush when there is no active
tool and use the active paint method instead. Fall back to the
standard paint method if there is no active one.
(nothing in the core uses the active tool any more now).
* app/widgets/gimpdeviceinfo.h: add the paint info to the
properties which are saved in devicerc.
Added identifiers (names) and stock-ids to GimpPaintInfo:
* app/core/gimppaintinfo.[ch] (gimp_paint_info_new): added
identifier and stock-id parameters.
* app/core/gimptoolinfo.c (gimp_tool_info_new): removed the hack
of setting the paint-info stock-id from the tool-info stock-id.
* app/paint/paint-types.h
* app/paint/gimp-paint.c: changed GimpPaintRegisterCallback
accordingly.
* app/tools/gimp-tools.c (gimp_tools_register): changed paint
info names accordingly.
* app/paint/*.c (gimp_*_register): pass identifier and stock-id
accordingly.
2005-12-23 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimplayer.c
* app/core/gimplayermask.c
* app/text/gimptextlayer.c
* app/vectors/gimpvectors.c: moved variables to local scopes in
implementations of GimpItem::duplicate()
2005-12-11 Michael Natterer <mitch@gimp.org>
* app/core/gimpstrokedesc.c (gimp_stroke_desc_new): fall back to
the paintbrush if we can't get the paint method from the active
tool (because there is no active tool). Fixes bug #323778.
2005-12-10 Michael Natterer <mitch@gimp.org>
* app/config/*.c
* app/core/*.c
* app/display/*.c
* app/text/*.c
* app/vectors/*.c: port to G_DEFINE_TYPE() and friends. Some related
core reordering and cleanup.
2005-11-16 Michael Natterer <mitch@gimp.org>
* app/core/gimplayer.c (gimp_layer_convert):
gimp_layer_transform_color() wants the destination image passed,
not the source image.
2005-11-13 Sven Neumann <sven@gimp.org>
* app/core/gimpdatafactory.c (gimp_data_factory_data_free): do not
return a value from a void function. Fixes bug #321333.
2005-11-05 Sven Neumann <sven@gimp.org>
* tools/pdbgen/app.pl: removed calls to the splash update function
during initialization of internal procedures. This only takes time
and doesn't provide useful information.
* app/pdb/internal_procs.[ch]: regenerated.
* app/pdb/procedural_db.[ch]: changed accordingly.
* core/gimp.c: call the splash update function from here.
2005-11-05 Sven Neumann <sven@gimp.org>
* app/gui/splash.c: added some commented-out debug output that can
be used to get an idea of where the startup time is being spent.
* app/core/gimp.c
* app/pdb/internal_procs.c
* app/pdb/procedural_db.c
* app/plug-in/plug-ins.c
* tools/pdbgen/app.pl: cosmetic changes.
2005-11-04 Sven Neumann <sven@gimp.org>
* app/core/gimpenvirontable.c (gimp_environ_table_load_env_file):
gimp_config_path_expand() only ever returns NULL if called with a
NULL path argument.
2005-11-01 Sven Neumann <sven@gimp.org>
* app/core/gimpbrushgenerated.c (gimp_brush_generated_load): use
gimp_brush_generated_new() to create the brush object. Removed
redundant calls to gimp_data_dirty().
* app/core/gimpdata.c: freeze the data object during construction.
2005-10-31 Michael Natterer <mitch@gimp.org>
Applied modified patch from Luis de Bethencourt Guimera which adds
a "Save document history" prefs option. Fixes bug #140001.
* app/config/gimprc-blurbs.h
* app/config/gimpcoreconfig.[ch]: added boolean property
"save-document-hitory".
* app/core/gimp.c
* app/file/file-open.c
* app/file/file-save.c: don't save the document history and don't
add files to the desktop-wide list of recently used files if the
option is FALSE.
* app/dialogs/preferences-dialog.c: added its toggle to the
"Environment" page.
2005-10-31 Sven Neumann <sven@gimp.org>
* app/core/gimpdata.[ch]
* app/core/gimpdatafactory.c: applied a heavily modified version
of the patch provided by Shlomi Fish in bug #311740. Introduces a
cache to speed up reloading of data files.
* app/actions/data-commands.c: set gimp busy while refreshing data
factories.
* app/widgets/gimpwidgets-utils.c (gimp_widget_accel_changed):
free the return value of gimp_get_accel_string().
2005-10-25 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-contiguous-region.c
(struct ContinuousRegionData)
(gimp_image_contiguous_region_by_color)
(contiguous_region_by_color): the color samples are always RGB or
RGBA, so always compare 3 or 4 bytes of pixel data, and not just
the number of bytes of the drawable/projection. Fixes "select by
color" on GRAYA (bug #319683).
2005-10-17 Sven Neumann <sven@gimp.org>
* app/base/base-enums.h
* app/base/siox.[ch]
* app/core/gimpdrawable-foreground-extract.[ch]
* app/tools/gimpforegroundselecttool.[ch]: export stateful SIOX to
the core API and use it from the foreground selection tool.
2005-10-17 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-foreground-extract.[ch]
* app/tools/gimpforegroundselectoptions.[ch]
* app/tools/gimpforegroundselecttool.c: added "multiblob"
property to GimpForegroundSelectOptions and pass it to
gimp_drawable_foreground_extract_siox().
2005-10-12 Sven Neumann <sven@gimp.org>
* app/base/base-types.h
* app/base/siox.[ch]: applied patch from Gerald Friedland that
introduces a state to the SIOX operation.
* app/core/gimpdrawable-foreground-extract.c: adapted to the new API.
2005-10-10 Michael Natterer <mitch@gimp.org>
* app/core/gimpviewable.c (gimp_viewable_get_description): set the
"tooltip" return value to NULL before calling the virtual function.
* app/core/gimpbrush.c
* app/core/gimpbuffer.c
* app/core/gimpchannel.c
* app/core/gimplayer.c
* app/core/gimppaintinfo.c
* app/core/gimppalette.c
* app/core/gimppattern.c
* app/core/gimptoolinfo.c (get_description): don't do it here.
* app/core/gimpbuffer.c
* app/core/gimppaintinfo.c: untabbify, cleanup.
* app/core/gimpobject.c: emit "notify::name" whenerver the name
changes, clenup.
2005-10-07 Sven Neumann <sven@gimp.org>
* app/core/gimppalette-import.[ch]: added new function
gimp_palette_import_from_drawable(), respecting the selection as
suggested in bug #316212.
2005-10-02 Simon Budig <simon@gimp.org>
* app/core/gimpcoords.c: use ABS instead of fabs.
* app/core/gimpimage-snap.c: Use proper default values for the
coordinates.
* app/vectors/gimpbezierstroke.c: Fix a bug plus add some debug
output. For some reason does not snap yet.
2005-10-01 Simon Budig <simon@gimp.org>
* app/core/gimpcoords.[ch]: Added small utility function for the
manhattan metric.
* app/vectors/gimpstroke.[ch]: virtualized stubs provided by mitch
* app/vectors/gimpbezierstroke.c: Reworked some internal functions
to make it easier to access the parameters for the coordinates of an
stroke interpolation. Simplified the straight line test. Added an
implementation of the _nearest_tangent_get () function that does
not yet seem to work properly. Not sure where the problem is.
2005-09-30 Michael Natterer <mitch@gimp.org>
* app/vectors/gimpstroke.[ch]: added stubs of two new snapping
functions.
* app/core/gimpimage-snap.c: removed their #defines here.
2005-09-26 Sven Neumann <sven@gimp.org>
* app/core/gimpdata.c
* app/file/file-save.c
* app/file/file-open.c: use g_access() from gstdio.h.
* app/config/gimpconfig-file.c (gimp_config_file_copy)
* libgimpthumb/gimpthumbnail.c: use g_chmod() from gstdio.h.
* app/file/gimprecentlist.c
* libgimpconfig/gimpconfigwriter.c: use g_creat() from gstdio.h.
2005-09-24 Hans Breuer <hans@breuer.org>
* **makefile.msc : updated
* app/dialogs/user-install-dialog.c : only add the migrate page if
there is something to migrate from. Avoids on version being NULL.
* app/dialogs/file-save-dialog.c : the g_print() output was crashing
on the assumption that ->menu_label != NULL. It is for colorhtml.py.
* app/widgets/gimpselectiondata.c : use HAVE_UNISTD_H and move
* process.h definition by G_OS_WIN32 below it being defined
* app/widgets/gimpwidgets-utils.c(gimp_window_get_native) : cast
return value to (GdkNativeWindow) it is not necessary an int.
* libgimpwidgets/gimpwidgets.def : added gimp_zoom_type_get_type
* plug-ins/help/gimp-help-lookup.c : dynamic lookup of help_root
instead of hard-coding DATADIR/GIMP_HELP_PREFIX
* plug-ins/xjt/xjt.c : there is no pid_t with msvc, typedef one.
2005-09-19 Sven Neumann <sven@gimp.org>
* app/core/gimpimagefile.c (gimp_imagefile_get_new_pixbuf): use
GTK_STOCK_DIRECTORY for GIMP_THUMB_STATE_FOLDER.
2005-09-13 Sven Neumann <sven@gimp.org>
* app/core/gimppalette-import.c (gimp_palette_import_from_image):
ignore transparent pixels as suggested in bug #316212.
2005-09-11 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.h (enum GimpUndoType): replaced lots of
bogus strings by properly translatable ones. Many of them are
fallbacks anyway, but they should be presentable to the user.
Fixes bug #315964.
2005-09-09 Michael Natterer <mitch@gimp.org>
Added parent window API to the GimpProgress interface and to
the libgimp progress stuff. Might look strange, but does
the right thing in almost all cases (image window, file dialog,
script-fu dialog etc). Fixes bug #62988.
* app/core/gimpprogress.[ch]: added GimpProgress::get_window()
which should return a toplevel window ID if the progress is in a
window that wants to be the transient parent of plug-in dialogs.
* app/widgets/gimpwidgets-utils.[ch] (gimp_window_get_native): new
function which returns the window handle of a GtkWindow's GdkWindow.
* app/widgets/gimpfiledialog.c: implement ::get_window().
* app/display/gimpdisplay.[ch]: ditto. Removed window handle API.
* app/gui/gui-vtable.c: changed accordingly.
* libgimpbase/gimpbaseenums.[ch] (enum GimpProgressCommand):
added GIMP_PROGRESS_COMMAND_GET_WINDOW.
* app/plug-in/plug-in-progress.[ch] (plug_in_progress_get_window):
new function. Also renamed some functions to match the
GimpProgress interface, and not the legacy PDB procedure names.
* tools/pdbgen/pdb/progress.pdb
* app/core/gimppdbprogress.c: implement get_window() on both
sides of the wire, keeping backward compatibility (hopefully).
* libgimp/gimpprogress.[ch]: deprecated gimp_progress_install()
and added gimp_progress_install_vtable() which takes a vtable with
padding to be extensible. Added get_window() vtable entry and
dispatch it accordingly. Also added pulse() which was implemented
in a hackish way before. Everything is of course backward
compatible.
* libgimp/gimpprogressbar.c: inmplement the get_window() stuff
so a plug-in dialog containing a progress can be the transient
parent of another dialog in another plug-in.
* libgimp/gimpui.[ch] (gimp_ui_get_progress_window): new function
which returns a foreign GdkWindow of this plug-ins progress
window.
Renamed gimp_window_set_transient_for_default_display() to
gimp_window_set_transient() and make it use the progress' window
handle instead of the display's (which is the right thing to do in
almost all cases).
* libgimp/gimp.def
* libgimp/gimpui.def: add the new functions.
* tools/pdbgen/enums.pl
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* libgimp/gimpexport.c
* plug-ins/*/*.c: follow API change.
2005-09-08 Michael Natterer <mitch@gimp.org>
* app/core/gimplayer-floating-sel.c (floating_sel_boundary): if
the floating selection has no alpha, manually create BoundSegs of
its outline instead of calling boundary_find() (which creates a
boundary of the last channel). Fixes bug #145373.
* app/widgets/gimplayertreeview.c
(gimp_layer_tree_view_floating_selection_changed): update all
layer names' text attributes, not only for layers with alpha.
Fixes layer name display when making a new layer out of a floating
selection without alpha.
2005-09-07 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel-combine.c (gimp_channel_combine_ellipse):
use gimp_rectangle_intersect() instead of just looking at the
passed in w,h to figure whether nothing needs to be done. While
the algorithm does nicely with an entirely out-of-image ellipse,
the channel's bounds were set to a rectangle of zero width or
height, which caused subsequent calls to gimp_channel_bounds() to
return broken bounds. Fixes bug #315417.
(gimp_channel_combine_rect)
(gimp_channel_combine_mask): use gimp_rectangle_intersect() here
too instead of the usual unclear CLAMPing on x1,y1,x2,y2.
2005-09-05 Sven Neumann <sven@gimp.org>
Address bug #307971:
* app/core/gimp-gui.[ch]
* app/display/gimpdisplay.[ch]
* app/gui/gui-vtable.c
* tools/pdbgen/pdb/display.pdb: added PDB function to obtain a
window handle on an image display.
* app/pdb/display_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpdisplay_pdb.[ch]: regenerated.
* libgimp/gimpui.[ch]: added functions to set a GtkWindow transient
to an image display.
* plug-ins/common/gauss.c: use the new function exemplarily.
* libgimp/gimp.def
* libgimp/gimpui.def: updated.