2005-01-14 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch] (enum GimpUndoType): added GIMP_UNDO_INK.
* app/paint/gimppaintcore.[ch]: added virtual function
GimpPaintCore::push_undo() and call it.
* app/paint/gimppaintcore-undo.[ch]: made it the default
implementation.
* app/paint/gimpink-blob.[ch]: added blob_duplicate().
* app/paint/gimpink.[ch]: added a "start_blob" (just like
GimpPaintCore::start_coords) which gets set whenever we start a
new stroke or line. Removed ink->lastx and ink->lasty because
they are the same as paint_core->last_coords.
* app/paint/Makefile.am
* app/paint/gimpink-undo.[ch]: new files implementing an
undo step for ink which restores the last blob used along
with the whole ink state. Fixes bug #163670.
2005-01-13 Michael Natterer <mitch@gimp.org>
Allow to easily open brushes and patterns as images.
Fixes bug #163059.
* app/actions/brushes-actions.c
* app/actions/patterns-actions.c: added "brushes-open-as-image"
and "patterns-open-as-image" actions.
* app/actions/data-commands.[ch]: added
data_open_as_image_cmd_callback() which tries to load
data->filename as image.
* app/widgets/gimphelp-ids.h: added help IDs for the new actions.
* app/widgets/gimpdatafactoryview.c: added buttons.
* menus/brushes-menu.xml
* menus/patterns-menu.xml: added them to the menus.
2005-01-13 Michael Natterer <mitch@gimp.org>
Splitting GimpItem::convert() into two virtual functions was
apparently buggy over-engineering. Reverted that stuff and
implement item conversion much simpler:
* app/core/gimpitem.[ch]: have a single virtual function,
GimpItem::convert(), which takes a newly duplicated item and the
destination image.
(gimp_item_convert): simply call GimpItem::convert() on the result
of gimp_item_duplicate().
(gimp_item_real_convert): set the item's new image.
* app/core/gimplayer.c (gimp_layer_convert)
* app/vectors/gimpvectors.c (gimp_vectors_convert): changed
accordingly and chain up after, not before doing our own stuff
so the old image is still available as item->image for stuff
like colormap conversion. Fixes bug #163879.
2005-01-13 Michael Natterer <mitch@gimp.org>
Made the file open and save dialogs use the last used folder
instead of defaulting to current directory. Fixes bug #162385.
* app/widgets/gimpfiledialog.[ch] (gimp_file_dialog_set_uri):
removed this function because it had no functionality except
creating usability problems.
* app/actions/file-commands.c: use gtk_file_chooser_set_uri()
instead but *only* if we already have an uri from an alread open
image or the document hinstory.
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_image): set
the file chooser's uri only if we have an uri from the image
itself. Leave the current folder untouched otherwise and just set
the current name (e.g. "Untitled").
* app/dialogs/file-save-dialog.c (file_save_dialog_save_image): on
successful save, remember the used uri by attaching it to the
"gimp" instance.
(file_save_dialog_new): set the last saved uri's folder on the
newly created file save dialog.
2005-01-13 Sven Neumann <sven@gimp.org>
* app/units.c
* app/core/gimp-units.c
* app/core/gimp.c
* app/core/gimpunit.[ch]: added a utility function that frees the
memory allocated for user units. Minor cleanups.
2005-01-11 Sven Neumann <neumann@jpk.com>
* app/base/base-enums.[ch]
* app/core/gimpdrawable-transform.c
* app/core/gimpdrawable.c
* app/paint-funcs/Makefile.am
* app/paint-funcs/paint-funcs.[ch]
* app/paint-funcs/scale-funcs.[ch]: applied patch by Geert Jordaens
(after a good deal of reformatting for coding style compliance).
This factors the scale routines into their own file and adds a
sinc-based (Lanczos) interpolation routine (bug #162250).
2005-01-10 Manish Singh <yosh@gimp.org>
* modules/controller_midi.c: #include <time.h> to make sure all
the types are there for the alsa headers. Should address bug
#163593.
2005-01-09 Sven Neumann <sven@gimp.org>
* app/widgets/gimpactionview.c (gimp_action_view_new): connect to
"button_press_event" and start editing immidiately instead of
waiting for a second click. Fixes bug #163385.
2005-01-09 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdialogfactory.c (gimp_dialog_factories_toggle):
if called with (ensure_visibility == TRUE), raise the toolbox.
Fixes bug #163381.
2005-01-08 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontainertreeview.c
(gimp_container_tree_view_button_press): fixed handling of clicks
into a horizontally scrolled treeview.
2005-01-08 Sven Neumann <sven@gimp.org>
* app/dialogs/scale-dialog.c: use a GimpMessageBox to display the
informative message when scaling an indexed image.
2005-01-07 Shlomi Fish <shlomif@iglu.org.il>
* plug-ins/script-fu/scripts/frosty-logo.scm: made sure the shadow
is given enough space and then truncated instead of translated to the
center of the image, thus preventing the display of shadows with
a completely horizontal or vertical edge.
Fixes bug #132145.
2005-01-07 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-snap.c: moved variables to local scopes,
assign the snapped coords unconditionally (also if we don't snap),
cleanup.
(gimp_image_snap_rectangle): entirely rewritten to use local
mindist_x, mindist_y variables instead of fiddling with lots of
boolean variables. Implemented vectors snapping as if the required
GimpStroke functions existed (#defined them). Simon, your turn :)
2005-01-07 Michael Natterer <mitch@gimp.org>
* app/actions/plug-in-commands.c
* app/actions/vectors-commands.c: GIMP_PROGRESS(NULL) is perfectly
valid, no need to say gdisp ? GIMP_PROGRESS(gdisp) : NULL.
* app/actions/plug-in-commands.c (plug_in_run_cmd_callback):
remember the last plug-in if it has at least 3 args, not 2.
Cleaned up the whole function and removed cruft.
2005-01-07 Sven Neumann <sven@gimp.org>
* app/composite/gimp-composite-x86.h
* app/composite/gimp-composite-sse.c: applied patch from Andreas
Jochens that fixes the build on amd64 with gcc-4.0 (bug #163041).
2005-01-06 Manish Singh <yosh@gimp.org>
* libgimpwidgets/gimpdialog.c: flush the display in dispose if we're
no longer in a main loop, so the dialog doesn't hang around while
possibly long running calculations are being done. Fixes bug #163084.
2005-01-06 Sven Neumann <sven@gimp.org>
* plug-ins/common/sparkle.c: applied patch from Shlomi Fish that
fixes more regressions in Sparkle plug-in (bug #132145).
* libgimpwidgets/gimpscrolledpreview.[ch]: new function:
gimp_scrolled_preview_set_position () to set the position of the
preview content wrt the drawable. This function might be moved to a
virtual function of GimpPreview in a near future.
* libgimp/gimpdrawablepreview.c: use this function, so a preview
remembers its position from one invocation to the next. This is done
using the current executable name as a key for gimp_set/get_data () so
each plug-in can have its preview on a different place.
More informations could be saved this way: the update toggle, the checks, etc.
Addresses bug #162286.
* libgimpwidgets/gimppreview.c: smallish cleanup.
* configure.in: add check for libexif version >= 0.6.0,
necessary because of nasty incompatible api change.
* plug-ins/jpeg/exif-handling.txt: removed from here...
* devel-docs/exif-handling.txt: ...and added here
* plug-ins/jpeg/jpeg-exif.c
* plug-ins/jpeg/Makefile.am
* plug-ins/jpeg/jpeg-load.c
* plug-ins/jpeg/jpeg.c
* plug-ins/jpeg/jpeg.h: extract info from exif on loading,
and add info to exif on saving, addresses bug #56433,
bug #61499, and bug #121810.
2005-01-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-close.c
(gimp_display_shell_close_dialog): set the default response to
Cancel in order to reduce the risk of accidentally saving an
image (bug #162872).
* plug-ins/common/mosaic.c: invalidate the preview when a parameter
change. Disabled updating the preview by default. There is room
optimisations, but this fixes#162710.
2005-01-03 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcellrenderertoggle.c
(gimp_cell_renderer_toggle_get_size): made the code look more
similar to GtkCellRendererToggle to allow for easy comparison.