2003-04-17 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-guides.c (gimp_image_add_x,y): new functions
snapping to one axis only.
(gimp_image_snap_rectangle): use them to enable snapping the
rectangle to all its corners, not just the NW and SE one.
2003-04-17 Michael Natterer <mitch@gimp.org>
* app/tools/gimptoolcontrol.[ch]: added an API to specify a
"snap_offset" and a "snap_width/height". Needed for tools which
want to snap to a rectangle and/or a position which is not the
current cursor position.
* app/display/gimpdisplayshell.[ch]: removed
gimp_display_shell_find_guide(), gimp_display_shell_snap_point()
and gimp_display_shell_snap_rectangle().
Added gimp_display_shell_snap_coords() which works on GimpCoords
and gets passed the above snap offsets.
* app/display/gimpdisplayshell-callbacks.c: use the new snap
function, using the values from GimpToolControl.
* app/tools/gimpcroptool.c: set snap offsets so the handles can be
guide-aligned after creating. Fixes bug #110957.
* app/tools/gimpeditselectiontool.c: removed snapping code (which
was broken anyway) and set appropriate snap offsets in
init_edit_selection().
2003-04-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptemplateeditor.c (gimp_template_editor_init):
modify the focus chain so it doesn't go line-by-line, but
spinbuttons first, then the widgets right of them.
003-04-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainergridview.[ch]: added a "selected_item"
pointer to the GimpContainerGridView struct so we don't need to
remember it using g_object_[set|get]_data(). Also make sure that
the selected item doesn't get out of sight when resizing the view
and that it is always visible initially.
2003-04-15 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-ins.c (plug_ins_init): make sure all progress
bars and at 1.0. Build the list of extension procedures to start
before starting them (and don't start them while iterating the
list of procedures because the list changes if we start an
extension).
2003-04-15 Michael Natterer <mitch@gimp.org>
* app/tools/paint_options.c (gimp_paint_options_gui): use a smaller
preview size for the gradient popup than for the button.
2003-04-14 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb: don't request viewable previews with
a width or height of 0 and don't crash if no preview is returned.
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* libgimp/gimpdrawable_pdb.c: regenerated.
2003-04-14 Michael Natterer <mitch@gimp.org>
* app/tools/gimpvectortool.[ch]: made
gimp_vector_tool_clear_vectors() private. Connect to the vector's
"changed" signal (and do nothing in the callback for now...).
Alwayws set tool->gdisp in button_press(). Use for() loops to
iterate strokes. Fixed gimp_vector_tool_set_vectors() to hopefully
do the right thing in all cases now. s/ptr/list/g. Cleanup.
2003-04-14 Michael Natterer <mitch@gimp.org>
* app/vectors/gimpvectors.[ch]: made "changed" a real signal,
don't crash when iterating a NULL stroke list, cleanup.
2003-04-14 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockbook.c (gimp_dockbook_get_tab_widget): check
for !GIMP_IS_PREVIEW(widget), not for GTK_WIDGET_NO_WINDOW(widget)
when deciding whether to put the tab_widget in a GtkEventBox
because GimpPreview is NO_WINDOW now but still handles events.
Fixes dockable DND.
2003-04-14 Sven Neumann <sven@gimp.org>
* app/gui/preferences-dialog.c: don't try to reparent the children
of GtkInputDialog but simply pop up the dialog as provided by
GTK+. Looks ugly but shouldn't crash any longer. Fixes bug #104423.
2003-04-14 Simon Budig <simon@gimp.org>
* app/vectors/gimpstroke.[ch]
* app/vectors/gimpvectors.[ch]: Changed vectors->strokes to a
GList and removed stroke->next. Implemented stuff for duplicating
strokes. Duplicating a vector works now.
* app/tools/gimpvectortool.c: added not-yet-used function to
determine where a click has been. Refcounting stuff changed.
* app/core/gimpimage-mask-select.c
* app/paint/gimppaintcore-stroke.c: Changed accordingly.
2003-04-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainergridview.c: connect to "realize" of the
scrolled window's viewport and scroll to the correct item
(because GtkViewport is too dumb to this by itself).
* app/widgets/gimpcontainerpopup.[ch]: added a "view_type"
parameter.
* app/widgets/gimpviewablebutton.[ch]: added new function
gimp_viewable_button_set_view_type() and pass the view_type
to the GimpContainerPopup.
* app/widgets/gimptemplateeditor.c: default to GIMP_VIEW_TYPE_GRID
for the stock icon popup.
2003-04-13 Michael Natterer <mitch@gimp.org>
* app/core/gimptemplate.c (gimp_template_notify): invalidate
the preview when the stock_id changes.
* app/widgets/gimptemplateeditor.[ch]: added an optional entry
to edit the template's name.
* app/widgets/gimptemplateview.[ch]: added a "duplicate" button and
function pointers for creating templates, editing templates and
creating images from templates.
* app/gui/file-new-dialog.[ch] (file_new_dialog_create): added an
optional template parameter.
* app/gui/file-commands.c: pass template == NULL.
* app/gui/templates-menu.c: added a "Duplicate Template" menu entry.
* app/gui/templates-commands.[ch]: added the callback for the
duplicate menu item. Added "New Template" and "Edit Template"
dialogs. Added a function which opens a file_new_dialog with
a template preselected.
* app/gui/dialogs-constructors.c: let GimpTemplateView know
about the functions.
2003-04-13 Sven Neumann <sven@gimp.org>
* app/paint/gimppaintoptions.c: changed the "fade-length" and
"gradient-length" minimum values to 0.0 for compatibility with
the PDB API.
* app/paint/gimppaintcore.c (gimp_paint_core_get_color_from_gradient):
check that gradient_length > 0.0 before dividing by it.
* plug-ins/gfig/gfig.c (gfig_paint_callback): push an undo group
around the paint operations (bug #110446).
2003-04-13 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontext.c (gimp_context_deserialize_property)
* app/core/gimpcontainer.c (gimp_container_deserialize): g_free()
the string returned by gimp_scanner_parse_string(). Replace
NULL object names by "".
2003-04-13 Michael Natterer <mitch@gimp.org>
* app/tools/gimpeditselectiontool.c (init_edit_selection):
g_memdup() the segments returned by gimp_image_mask_boundary().
Just caching the pointers leads to bug #22375 because the image's
mask boundary changes while we live-move stuff.
* app/tools/gimpmovetool.c (gimp_move_tool_button_press): pause
the selection when starting to move a guide, since we also resume
it when we're finished.
(both bugs tracked down by Pedro Gimeno).
2003-04-12 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainerpopup.[ch]
* app/widgets/gimpviewablebutton.[ch]: added "preview_size" and
"preview_border_width" parameters to the constructors and use them
when creating the popup.
* app/tools/gimptextoptions.c
* app/tools/paint_options.c
* app/widgets/gimptemplateeditor.c: changed accordingly. Create the
icon popup without borders.
2003-04-12 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig-params.h: made object properties
G_PARAM_READWRITE by default. Added flag GIMP_PARAM_AGGREGATE
which indicates that an object property is not a reference but a
real part of its owner.
* app/config/gimpconfig-deserialize.c: g_object_set_property()
object properties only if they are not GIMP_PARAM_AGGREGATE.
* app/config/gimpconfig-utils.c (gimp_config_copy_properties,
gimp_config_reset_properties): copy and reset GIMP_PARAM_AGGREGATE
object properties correctly.
* app/config/gimpconfig-serialize.c: don't call
gimp_config_writer_open/close() for properties which are handled
by a GimpConfigIface::serialize_property() implementation.
* app/core/gimpcontext.c: removed exlicit G_PARAM_WRITABLE from
object properties since that's the default now. Call
gimp_config_writer_open/close() when serializing properties.
* app/core/gimpviewable.c (gimp_viewable_get_property): use
gimp_viewable_get_stock_id().
(gimp_viewable_set_stock_id): set stock_id to NULL if the new
stock_id is the same as viewable_class->default_stock_id.
Added serialize_property() which skips stock_id serialization
if it is NULL.
* app/tools/gimptextoptions.c: made the "text" property
GIMP_PARAM_AGGREGATE. Added gimp_text_options_set_property()
(which does nothing).
* app/widgets/gimptemplateeditor.[ch]: added an optional
GimpViewableButton to change the template's icon.
* app/gui/file-new-dialog.c: create it with the icon button so it
gets some testing.
2003-04-12 Dave Neary <bolsh@gimp.org>
* plug-ins/common/png.c (save_image):
Fixed a bug caused by myself previously. png saving
should now work reasonably correctly with alpha on indexed
images.
2003-04-12 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/siod-wrapper.c (marshall_proc_db_call):
applied a patch from Pedro Gimero that plugs a memleak in Script-Fu.
2003-04-11 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_dialog): fixed fnord that caused the
dialog to sometimes show a ratio of 0:0.
2003-04-11 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockable.[ch]: derive it from GtkBin, not from
GtkVBox. Removed "content_spacing" style property.
* app/widgets/gimpcontainerview-utils.c
* etc/gtkrc_user
* themes/Default/gtkrc: changed accordingly.
2003-04-11 Raphael Quinet <quinet@gamers.org>
* plug-ins/flame/flame.c (dialog): restore the original input
range from 1 to 4 for the Spatial Oversample parameter, and reset
the number of decimals to 0. Fixes bug #110443.
2003-04-11 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-template-24.png
* themes/Default/images/stock-video-[16|24].png
* themes/Default/images/stock-web-[16|24].png: new icons by Jimmac.
* libgimpwidgets/gimpstock.[ch]: register the new icons.
* etc/templaterc: use Web icons for the web banner templates.