2004-04-10 Pedro Gimeno <pggimeno@wanadoo.es>
* app/core/gimpdrawable-transform.c
(gimp_drawable_transform_tiles_affine): Applied patch from William
Skaggs that addresses bug #120490.
* app/sanity.c (sanity_check): Modified the message that reports
an old version of Fontconfig in an attempt to make it more
informative.
2004-04-10 Sven Neumann <sven@gimp.org>
* tools/gimp-remote.c (start_new_gimp): reverted the last change
and did a different fix that involves closing the X display before
starting gimp (bug #139158).
2004-04-09 Manish Singh <yosh@gimp.org>
* plug-ins/common/jpeg.c: Uglier workaround for bug #138357, since
the previous one did break error handling. Fixes bug #139571.
2004-04-08 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/siod-wrapper.c: applied a patch from Kevin
Cozens that makes the Script-Fu PDB marshaller handle NULL
strings. Some minor code cleanup. Fixes bug #139386.
2004-04-08 Sven Neumann <sven@gimp.org>
* tools/gimp-remote.c (start_new_gimp): applied a patch from
Michael Matz that calls fork() before starting gimp. This is to
avoid X server authentification problems (bug #139158).
2004-04-05 Pedro Gimeno <pggimeno@wanadoo.es>
* plug-ins/script-fu/scripts/copy-visible.scm: Use
gimp-image-get-active-layer/channel instead of the passed
drawable for later restoring the initially active layer/channel.
Addresses bug #138662.
* plug-ins/script-fu/scripts/drop-shadow.scm: Add a call to
gimp-image-set-active-layer in order for it to fail early instead
of failing with the undo group open in case the drawable is not
suitable for applying the effect.
2004-04-05 Pedro Gimeno <pggimeno@wanadoo.es>
Sanitize rectangle and ellipse selection handling (bug #138237
and bug #138103):
* app/tools/gimprectselecttool.h
* app/tools/gimprectselecttool.c (GimpRectSelectTool): new
member "moved" indicating whether the cursor was moved after
the click.
(gimp_rect_select_tool_coords_to_integer): New function for
consistent conversion of the rectangle FP coords to pixels.
(gimp_rect_select_tool_button_press,
gimp_rect_select_tool_button_release,
gimp_rect_select_tool_motion, gimp_rect_select_tool_draw): use
it instead of fiddling with the FP coordinates. Update "moved"
and use it to detect whether the selection needs to be cleared.
* app/tools/gimpellipseselecttool.c
(gimp_ellipse_select_tool_draw): use the new coords_to_integer
function.
2004-04-05 Sven Neumann <sven@gimp.org>
* plug-ins/Lighting/lighting_ui.c: applied the second patch
attached to bug #138788 by William Skaggs. Removes some user
interface elements that have no corresponding implementation and
fixes preview updates.
2004-04-04 Sven Neumann <sven@gimp.org>
* Makefile.am
* docs/Makefile.am: don't install gimptool symlinks to
gimptool-2.0 and its manpage. gimp.m4 as installed with gimp-1.2
looks for gimptool (bug #139024).
2004-04-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-draw.[ch] pass the bounding box of
the exposed area to gimp_display_shell_draw_grid() and draw only
the relevant part of the grid. Fixes bug #138606.
2004-04-04 Sven Neumann <sven@gimp.org>
Cache the GC for drawing the grid as suggested in bug #138081:
* app/display/gimpdisplayshell.[ch]: added a grid_gc member to
GimpDisplayShell.
* app/display/gimpdisplayshell-handlers.c
(gimp_display_shell_grid_notify_handler)
(gimp_display_shell_disconnect): invalidate the grid GC.
* app/display/gimpdisplayshell-draw.c (gimp_display_shell_draw_grid):
use the cached grid_gc. Also applied the fix that Pedro Gimeno did
for bug #138606.
2004-04-03 Manish Singh <yosh@gimp.org>
* gimptool-2.0.in: Create any directories in the install path that do
not already exist. Fixes bug #138980.
* docs/gimptool.1.in: s/dont/don't/g
2004-04-03 Sven Neumann <sven@gimp.org>
* app/text/gimptextlayer.c (gimp_text_layer_new): create the
initial text layer with a size of 1 x 1 since tile_manager_new()
does not any longer accept 0 x 0.
* app/core/gimpdrawable.c (gimp_drawable_configure): check that
width and height are > 0.
2004-04-03 Sven Neumann <sven@gimp.org>
* plug-ins/Lighting/lighting_main.c
* plug-ins/Lighting/lighting_shade.c: applied the first of two
patches attached to bug #138788 by William Skaggs.
2004-04-02 Simon Budig <simon@gimp.org>
* plug-ins/common/whirlpinch.c: set a proper pixelfetcher
edge mode for bigger radii. Avoids getting garbage at the
image borders.
2004-04-02 Dave Neary <bolsh@gimp.org>
* plug-ins/common/jpeg.c: Added .jpe to the list of extensions
that the jpeg plug-in recognises. Fixes bug #138776.
2004-04-01 Sven Neumann <sven@gimp.org>
* app/gui/user-install-dialog.c: unset the bg_pixmap and tweak
style colors for all states. Sort of ugly but makes the dialog
work better with more obscure themes (bug #138379).
2004-04-01 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch] (enum GimpUndoType): added undo type
GIMP_UNDO_TEXT_LAYER_MODIFIED and undo group types
GIMP_UNDO_GROUP_DRAWABLE and GIMP_UNDO_GROUP_DRAWABLE_MOD.
* app/core/gimpimage-undo-push.[ch]: added new new function
gimp_image_undo_push_text_layer_modified() which makes
modifications of the text_layer's "modified" boolean undoable.
* app/core/gimpdrawable.[ch]: added new virtual function
GimpDrawable::push_undo() and moved the actual undo pushing into
the default implementation gimp_drawable_real_push_undo().
* app/text/gimptextlayer.c (gimp_text_layer_push_undo): new
function. Pushes the text_layer's modified state to the undo stack
after upchaining and sets modified to TRUE.
(gimp_text_layer_set_tiles): ditto.
(gimp_lext_layer_apply_region)
(gimp_text_layer_replace_region): removed because their default
implementations already call gimp_drawable_push_undo().
(gimp_text_layer_swap_pixels): removed because swap_pixels() is
used by undo only and doesn't need to care about the text_layer's
modified state.
(gimp_text_layer_render): don't set modified to FALSE here because
we can't push an undo step here.
(gimp_text_layer_set): push the modified state to the undo stack
and set it to FALSE here. Also push the layer's tiles if the
layer was modified.
* app/tools/gimptexttool.c (gimp_text_tool_apply): push "modified"
to the undo stack and set it to FALSE here, too.
Fixes bug #137767.
2004-03-31 Simon Budig <simon@gimp.org>
* app/tools/gimptransformtool.c: One really should use braces
when mixing additions and multiplication and the operator
precedence is not the desired one...
I feel stupid... :-)
2004-03-31 Michael Natterer <mitch@gimp.org>
* app/core/gimp-transform-utils.c
(gimp_transform_matrix_perspective): make sure 0.0/0.0 results
in 1.0, not NaN.
* app/core/gimpdrawable-transform.c
(gimp_drawable_transform_tiles_affine): instead of returning NULL
if the transformation shrinks the tiles completely away, return at
least the pixel (or the row or column of pixels) which best covers
the sub-pixel area of the transform result:
- Changed rounding of the transformed coordinates from RINT()
to floor()/ceil() so we don't cut off sub-pixel portions of the
transform result.
- Force the minimal size if the changed rounding didn't help.
Fixes bug #138117.
Also added paranoia code which falls back to clip_result if the
passed matrix produces NaN coordinates (copied the FINITE() macro
from image_cmds.c).
2004-03-30 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/scripts/grid-system.scm: define "map" here,
the script used to take the definition from alien-glow-arrow.scm
or beveled-pattern-arrow.scm. Also added an undo group around all
operations. Fixes bug #138524.
2004-03-30 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/sanity.[ch]: new files implementing sanity_check() for
run-time checking library versions. Added a check for FreeType but
disabled it until we figured if and how freetype causes some of
the DLL hell bugs.
* app/main.c (main): call it and abort if it fails.
* app/app_procs.[ch]: added app_gui_abort() so main.c doesn't
need to #include "gui/gui.h"
* app/gui/gui.[ch] (gui_libs_init): removed library sanity checking.
(gui_abort): new function which shows the abort message.
2004-03-29 Manish Singh <yosh@gimp.org>
* plug-ins/common/jpeg.c (struct my_error_mgr): Move setjump_buffer
to the beginning of the structure, to make sure it is aligned on a
16-byte boundary for ia64, even with icc. Fixes#138357.
2004-03-29 Sven Neumann <sven@gimp.org>
* app/config/gimpguiconfig.c: changed the default for "help-locales"
from NULL to an empty string. Fixes the generated gimprc man-page.
* app/config/gimprc-blurbs.h (HELP_LOCALES_BLURB): added missing
whitespace.
* app/widgets/gimphelp.c: use the user's locale if "help-locales"
is NULL or the empty string.
* docs/gimprc.5.in
* etc/gimprc: regenerated.
2004-03-29 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.h (enum GimpUndoType): added new group
GIMP_UNDO_GROUP_FS_REMOVE.
* app/core/gimplayer-floating-sel.c (floating_sel_remove): push an
undo group. Fixes undo corruption spotted by Pedro Gimeno.
2004-03-29 Michael Natterer <mitch@gimp.org>
* plug-ins/common/guillotine.c (guillotine): Don't just skip
guides at the image edges but any guide which is at a position we
already remembered. Should catch all instances of bug #138312 this
time.
2004-03-28 Sven Neumann <sven@gimp.org>
* plug-ins/ifscompose/ifscompose.c: applied patch from David Necas
that updates the sensitivity of the Delete button and menu entry.
Fixes bug 138212#.
2004-03-28 Sven Neumann <sven@gimp.org>
* app/text/gimpfontlist.c (gimp_font_list_add_font): validate the
font name. This should work around the crashes that Windows users
were experiencing on startup (bug #132366). The real problem needs
to be fixed elsewhere though.
2004-03-28 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-undo-push.c (undo_pop_layer): when re-adding
a layer with mask, don't forget to set layer->mask->removed to FALSE.
2004-03-28 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: added "gboolean removed" to the GimpItem
struct. Defaults to FALSE. Set it to TRUE in gimp_item_removed().
Added public function gimp_item_is_removed().
* app/core/gimpimage-undo-push.c (undo_pop_layer)
(undo_pop_layer_mask) (undo_pop_channel) (undo_pop_vectors):
set it to FALSE manually when re-adding something from the
undo stack.
* tools/pdbgen/app.pl
* tools/pdbgen/pdb.pl: don't allow any operation on items which
are removed from the image (and exist on the undo stack only).
Fixes bug #138311.
* app/pdb/channel_cmds.c
* app/pdb/color_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/edit_cmds.c
* app/pdb/floating_sel_cmds.c
* app/pdb/image_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/paint_tools_cmds.c
* app/pdb/parasite_cmds.c
* app/pdb/selection_cmds.c
* app/pdb/selection_tools_cmds.c
* app/pdb/transform_tools_cmds.c: regenerated.
2004-03-28 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/scripts/slide.scm: applied a (modified) patch
from Nils Philippsen that fixes bug #138310.
2004-03-28 Michael Natterer <mitch@gimp.org>
* plug-ins/common/guillotine.c (guillotine): applied a (modified)
patch from Joao S. O. Bueno which removes any guides from the
cropped images. Fixes bug #138314.
Skip guides which are at the image's edges because the algorithm
already assumes that there are always guides at these positions.
Fixes bug #138312.
2004-03-26 Manish Singh <yosh@gimp.org>
* tools/pdbgen/app.pl: don't generate code with tabs.
* tools/pdbgen/pdb/procedural_db.pdb: convert tabs to spaces in
helper function declaration.
* app/pdb/procedural_db.c: convert tabs to spaces.
* app/pdb/*.c: regenerated, no code changes, only tabs->spaces.
2004-03-26 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable-transform.c
(gimp_drawable_transform_tiles_affine): return NULL tiles if the
matrix would transform the drawable into nothing. Fixes the
core-crashing part of bug #138117 and makes the script fail
with an execution error.
2004-03-25 Manish Singh <yosh@gimp.org>
* libgimp/gimp.c
* app/plug-in/plug-in-shm.c: close the shm_open fd in the POSIX
shm case. We were leaking an fd here.
2004-03-23 Michael Natterer <mitch@gimp.org>
* autogen.sh: be verbose about AUTOGEN_CONFIGURE_ARGS in the
message that is printed if no arguments were passed.
2004-03-23 Simon Budig <simon@gimp.org>
* plug-ins/script-fu/scripts/alien-glow-arrow.scm
* plug-ins/script-fu/scripts/beveled-pattern-arrow.scm: Make
helper functions local to the scripts. The better fix for
bug #136868. Should also be done for a lot of other scripts,
but is too likely to introduce new bugs to do this now.
2004-03-23 Simon Budig <simon@gimp.org>
* plug-ins/script-fu/scripts/alien-glow-arrow.scm: fixed
utility function rotate-points. Only worked sometimes by
accident, probably because beveled-pattern-arrow.scm implemented
a function of the same name correctly and all scripts share
a common namespace.
Fixes bug #136868.
2004-03-23 Michael Natterer <mitch@gimp.org>
The floating_sel code is really from the stone age:
* app/core/gimplayer-floating-sel.c (floating_sel_attach): call
gimp_image_floating_sel() once and work on the return value
instead of accessing gimage->floating_sel directly twice and
calling gimp_image_floating_sel() for the thrid access.
* app/core/gimpimage.c (gimp_image_floating_sel): no need to
return NULL if gimage->floating_sel is NULL, just always return
gimage->floating_sel.
2004-03-22 Sven Neumann <sven@gimp.org>
* app/core/gimplayer-floating-sel.c (floating_sel_attach): don't
do a type-checking cast on an object that was released a few lines
above. Fixes bug #137957.
2004-03-22 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.c: keep the text editor open as long as
the text tool is connected to a text layer. Open the text editor
when a text layer is activated in the layers dialog.
2004-03-22 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.[ch]: preserve the text tool on image
changes. Instead connect to the text layer's "notify::modified"
signal and disconnect from the layer when it is modified.
Fixes bug #137890.
2004-03-22 Michael Natterer <mitch@gimp.org>
* app/file/file-open.c (file_open_with_proc_and_display): removed
the undo clearing/sanitizing code...
(file_open_image): ...and added it here so *all* newly opened
images start with a clean and sane undo state.
* app/gui/file-commands.c (file_revert_confirm_callback): removed
(incomplete) undo sanitizing here too.
2004-03-22 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_reconnect):
call gimp_display_shell_expose_full() so the whole canvas gets
cleared when reverting the image.
2004-03-22 Sven Neumann <sven@gimp.org>
* libgimpbase/gimpparasiteio.c (gimp_pixpipe_params_parse): clamp
the pixpipe dimension to the allowed range. Fixes bug #137902.
2004-03-22 Sven Neumann <sven@gimp.org>
* app/text/gimptextlayer.c (gimp_text_layer_duplicate): put some
code back in that I removed accidentally.
(gimp_text_layer_render) freeze/thaw notifications to avoid that
two "notify::modified" signals are emitted.
2004-03-22 Raphael Quinet <quinet@gamers.org>
* autogen.sh: Added a test for the version of intltool because
some of the recent versions are known to break the Tips file.
This fixes bug #137502. The message should be updated when a new
version of libtool is released.
2004-03-22 Simon Budig <simon@gimp.org>
* app/widgets/gimpdock.c: set the minimum of the
"default_heigt" property range to -1, this enables users
to disable this feature via gtkrc.
2004-03-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdock.c: added a style property "default_height"
and set a window default size for new docks. Fixes bug #137876.
* themes/Default/gtkrc: document the default dock height.
* themes/Small/gtkrc: set a smaller default dock height here.
2004-03-21 Sven Neumann <sven@gimp.org>
* app/core/gimpundo.[ch]: added gimp_undo_type_to_name() a similar
function used to live in gimpimage-undo.[ch].
* app/core/gimpitemundo.c (gimp_item_undo_new): allow NULL as name
and generate it from the undo_type then.
* app/core/gimpimage-undo.[ch]: added gimp_image_undo_push_undu(),
new function that allows to push an undo on the image.
* app/text/Makefile.am
* app/text/text-types.h
* app/text/gimptextundo.[ch]: added GimpTextUndo, derived from
GimpItemUndo.
* app/core/gimpimage-undo-push.c (gimp_image_undo_push_text_layer):
use the new code and simply push a text undo here.
* app/tools/gimptexttool.c: compress text undos by peeking at the
undo stack. Fixes bug #137766.
2004-03-21 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_events): added run-time version
check and do the workaround for bug #136636 only if
the Gtk+ version is < 2.2.5.
* m4macros/gimp-2.0.m4: require gimp >= 2.0.0
2004-03-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpthumbbox.c: modify the event_box and preview
styles in GtkWidget::style_set() instead of in
gimp_thumb_box_new() so they follow theme changes correctly and
the labels stay visible when switching to an "inverse" theme.
2004-03-20 Pedro Gimeno <pggimeno@wanadoo.es>
Fixed several off-by-one problems in display:
* app/display/gimpdisplayshell.h (PROJ_ROUND): New macro to apply
to a float the same rounding method as the one used when rendering.
(SCALEX, SCALEY): Use PROJ_ROUND instead of truncating.
* app/display/gimpdisplayshell-transform.c
(gimp_display_shell_transform_xy): Accept gdouble image coordinates
even if the returned screen coordinates are integer. Use PROJ_ROUND
instead of (gint) to apply proper rounding. Fixes bug #137566.
* app/display/gimpdisplayshell-transform.h
(gimp_display_shell_transform_xy): changed accordingly.
* app/display/gimpdisplayshell-draw.c
* app/tools/gimpdrawtool.c: make sure everywhere that PROJ_ROUND
is used either directly or through gimp_display_shell_transform_xy,
instead of using arbitrary rounding methods.
2004-03-20 Sven Neumann <sven@gimp.org>
* configure.in: set version number to 2.0.0, version string to
"2.0rc1".
* app/Makefile.am
* libgimp/Makefile.am
* libgimpbase/Makefile.am
* libgimpcolor/Makefile.am
* libgimpmath/Makefile.am
* libgimpmodule/Makefile.am
* libgimpthumb/Makefile.am
* libgimpwidgets/Makefile.am
* tools/Makefile.am: changed 1.3 to 2.0 all over the place.
* README
* NEWS: updated for the 2.0rc1 release.
2004-03-20 Sven Neumann <sven@gimp.org>
* app/text/gimptextlayer.c: it wasn't such a good idea to let
GimpConfig take care of the text when duplicating a text layer; it
didn't create a copy. Do that manually again; fixes bug #137786.
2004-03-20 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.c (gimp_text_tool_create_vectors): don't
take the image from tool->gdisp, this might be a NULL pointer.
* app/core/gimpimage-undo-push.c: removed debugging output.
2004-03-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.c (gimp_prop_size_entry_callback):
avoid to set the unit property with every size change; only set it
if it actually changed.
* app/core/gimpimage-undo-push.c (gimp_image_undo_push_text_layer):
allow to pass a GParamSpec that identifies a single text property
to be changed. In this case, don't store a GimpText object on the
undo stack but only the changed value.
* app/tools/gimptexttool.c: use the new undo feature to reduce the
memory footprint of text undo for the common case.
* app/text/gimptextlayer.c: changed accordingly.
2004-03-20 Simon Budig <simon@gimp.org>
* app/core/gimpimage-qmask.c: Applied slightly modified patch
from Sven. When the quickmask has a floating selection, anchor
it before loading the selection and deleting the qmask channel.
Fixes bug #137170.
2004-03-20 Simon Budig <simon@gimp.org>
* app/gui/select-commands.[ch]: new callbacks to convert the
current vector to the selection.
* app/gui/image-menu.c: hook it into the menu. Default shortcut
is Shift+V.
2004-03-20 Sven Neumann <sven@gimp.org>
* app/text/gimptextlayer.c (gimp_text_layer_set): use the same
undo group logic as in the text tool. Not really necessary since
this function must not be called on modified text layers, but it's
more consistent this way.
2004-03-20 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.c: Assigned "b" as the default shortcut
for the path tool ("Bezier").
Fixes bug #137753.
2004-03-20 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.c: update the text editor when the text
changes (for example when undoing text changes). Push a drawable
undo when applying text changes to a modified text layer.
2004-03-20 Sven Neumann <sven@gimp.org>
* app/text/gimptextlayer.c (gimp_text_layer_render): don't fiddle
with the item size, gimp_drawable_set_tiles() does the right thing.
2004-03-20 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-undo-push.c (undo_pop_text_layer): don't
exchange the text_layer's text object but sync it with the text
object from the undo step.
* app/text/gimptextlayer.c (gimp_text_layer_set): in case the
layer has a mask, push an undo group around the text modifications.
* app/tools/gimptexttool.c (gimp_text_tool_idle_apply): push a
text layer undo before applying the text changes.
2004-03-19 Sven Neumann <sven@gimp.org>
* app/text/gimptextlayer.[ch]: added gimp_text_layer_set(), a
function that calls g_object_set() on the text-layer's text object
and pushes an undo step.
* app/display/gimpdisplayshell-dnd.c (gimp_display_shell_bucket_fill):
use the new function.
2004-03-19 Sven Neumann <sven@gimp.org>
* app/text/gimptextlayer.c (gimp_text_layer_render): if there's a
layer mask, resize it with the layer.
* app/tools/gimptexttool.c: don't change text_tool->layer before
calling gimp_text_tool_connect().
2004-03-19 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.[ch]: added a confirmation dialog that is
shown when the user attempts to modify a modified text layer.
2004-03-19 Michael Natterer <mitch@gimp.org>
* themes/Default/gtkrc
* themes/Small/gtkrc: don't set the height of GtkHScales to 11px
any longer. This modification was added only because at some time
GTK+ 1.3.x (!!!) looked strange with the default size.
2004-03-19 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpwidgets.c (gimp_scale_entry_new_internal): if
a tooltip is given, put the label into an eventbox (bug #137612).
2004-03-19 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new): added
runtime check for GTK+ >= 2.4.0 and make sure the menubar's accels
can be invoked even if the menubar is invisible (workaround for
bug #137151).
2004-03-19 Michael Natterer <mitch@gimp.org>
* app/gui/color-notebook.c (color_notebook_new)
* app/tools/gimpcroptool.c (crop_info_create)
* app/tools/gimptransformtool.c (gimp_transform_tool_dialog):
explicitely set a default response for dialog buttons which were
created using gtk_dialog_add_buttons().
2004-03-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpitemtreeview.c: simplified visibility and linked
undo compression by passing an UNDO type, not an UNDO_GROUP type.
Fixed (made weird) compression of "exclusive visible/linked" undos
to only compress undos of the same item type (only compress layer
visibility if we pushed a *layer* visibility before, not a channel
or vectors visibility). Even worse, we need to push the
visibility/linked state of *all* items when pushing an exclusive
group, otherwise compression won't work.
2004-03-18 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-console.c: applied a patch from
Kevin Cozens that slightly alters the Script-Fu console output.
2004-03-18 Sven Neumann <sven@gimp.org>
* app/gui/layers-commands.c (layers_text_tool)
* app/gui/layers-menu.c (layers_menu_update): treat modified text
layers like normal layers.
* app/gui/layers-commands.c (layers_edit_layer_query): added a
check button that gives access to the "auto-rename" property of a
text layer.
* app/text/gimptextlayer.c: typo.
* app/widgets/gimppreviewrendererlayer.c
(gimp_preview_renderer_layer_render): show the text layer icon for
unmodified text layers only.
2004-03-18 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-dnd.c (gimp_display_shell_bucket_fill):
added a missing call to gimp_image_flush().
* app/tools/gimptexttool.c: propagate text changes to the tool
options.
* app/text/gimptextlayer.c: made "text", "auto-rename" and
"modified" properties of the text layer and copy them when
duplicating a text layer.
* app/text/gimptextlayer-xcf.[ch]: added utility functions to
convert the new properties to flags to be saved in the XCF file.
* app/xcf/xcf-load.c
* app/xcf/xcf-private.h
* app/xcf/xcf-save.c: load and save text layer properties.
Disabled warnings about unknown properties for stable branches.
2004-03-18 Michael Natterer <mitch@gimp.org>
* plug-ins/common/CML_explorer.c
* plug-ins/common/gtm.c: changed procedure names to be all
lowercase so 2.0 ships with a sane namespace and doesn't give bad
examples to plug-in authors.
2004-03-18 Sven Neumann <sven@gimp.org>
Added support for localized help (bug #136996). Will need some
minor touches to improve error reporting but basically it works.
* plug-ins/help/Makefile.am
* plug-ins/help/help.h: new file with common defines.
* plug-ins/help/help.c
* plug-ins/help/locales.c: include help.h, made debugging output
optional.
* plug-ins/help/domain.[ch]: added a hash table with locales for
each help domain.
2004-03-18 Sven Neumann <sven@gimp.org>
* plug-ins/help/Makefile.am
* plug-ins/help/locales.[ch]: new files with code to handle locales.
* plug-ins/help/help.c: changed accordingly.
* plug-ins/help/domain.[ch]: added support for a fallback URL to
handle missing help content. i18n support is missing still.
2004-03-17 Simon Budig <simon@gimp.org>
* app/gui/channels-commands.c
* app/gui/layers-commands.c
* app/gui/vectors-commands.c: Make sure that non-dialog creation
of layer/channels/vectors properly updates the image. Also
clear the new channel unconditionally.
Change the name of the newly created item to not include the "Copy".
It isn't a copy.
* app/widgets/gimpitemtreeview.c: Don't try to assemble translated
strings.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c: properly overwrite the
tooltip for the "New" button.
Sorry, some real string changes ahere, but they were necessary.
2004-03-17 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable-transform.c
(gimp_drawable_transform_paste): push the undo group around all
operations, not just around some of them. Pulled common code
out of the if() { } else { } construct. Cleanup.
2004-03-17 Simon Budig <simon@gimp.org>
* app/gui/plug-in-menus.c: Sort the plugin menu entries with
the mnemonics stripped. Avoids weird ordering in the "C" and
"POSIX" locales.
* app/widgets/gimpitemtreeview.c: make a simple click on the
"New" Button use defaults and use shift-click for the new-dialog
invocation.
Some more useless button cleanup:
* app/widgets/gimpdatafactoryview.c: only create an Edit button
when the edit_function is set.
* app/core/gimp.c: don't set an edit func for the patterns.
* app/gui/patterns-menu.c: Don't create the "New", "Edit" and
"Duplicate" Menu entries for the patterns.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimppatternfactoryview.[ch]: New widget:
gimp_pattern_factory_view. Necessary to be able to hide the
"duplicate" button...
* app/gui/dialogs-constructors.c: Use it.
2004-03-17 Sven Neumann <sven@gimp.org>
Changes for help i18n in the core, the rest will take place in the
help plug-in:
* app/text/gimptext.[ch]: removed gimp_text_get_default_language()
* app/core/gimp-utils.[ch]: ... and added it here as
gimp_get_default_language().
* app/config/gimprc-blurbs.h
* app/config/gimpdisplayconfig.[ch]: added property "help-locales".
* app/widgets/gimphelp.c: use the new property and pass it to the
help plug-in.
* app/core/gimpselection.c (gimp_selection_invalidate_boundary):
removed unused variable.
2004-03-17 Simon Budig <simon@gimp.org>
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c
* app/widgets/gimpdatafactoryview.c: remove basically useless
edit buttons in the layers, vectors and patterns dialog.
* app/widgets/gimpitemtreeview.c: Make Shift-Click on the "New"
button create a new item using defaults.
2004-03-16 Michael Natterer <mitch@gimp.org>
* app/core/gimplist.c (gimp_list_dispose): removed this function.
It was removing all items without freezing the container first,
which caused excessive signal handler activity in GimpContext.
Cleaned up the whole file a bit.
* app/core/gimpcontainer.c (gimp_container_dispose): call
gimp_container_clear() which does the right thing and e.g. speeds
up quitting significantly when gimp->documents is huge.
Reported by Jimmac.
2004-03-16 Simon Budig <simon@gimp.org>
* app/gui/plug-in-commands.c: Update the Plugin Menu immediately
after setting the last invoked plugin. Fixes inconsistencies
between name shown and plugin invoked.
Fixes#136909, #137242 and #81479 (again, the fix in
lightening_main.c only probably was bogus, since this must not
rely on correctly written plugins).
* plug-ins/common/compose.c
* plug-ins/common/decompose.c
* plug-ins/common/film.c
* plug-ins/common/screenshot.c
* plug-ins/common/smooth_palette.c
* plug-ins/common/tile.c
* plug-ins/fits/fits.c: Ensure that each gimp_image_undo_enable()
had a gimp_image_undo_disable() first...
2004-03-15 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.c (gimp_text_tool_apply): look ahead in
the queue of pending changes and compress changes to the same
property. Fixed a couple of smaller issues.
* app/widgets/gimpwidgets-utils.c: corrected indentation.
2004-03-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpthumbbox.c (gimp_thumb_box_new): set a fixed
width on the "filename" and "info" labels so they clip their texts
rather than expand the thumb_box when the text is too wide
(spotted by Jonathan Blandford).
2004-03-15 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch] (enum GimpUndoType): replaced
GIMP_UNDO_LAYER_MOD and GIMP_UNDO_CHANNEL_MOD by
GIMP_UNDO_DRAWABLE_MOD.
* app/core/gimpimage-undo-push.[ch]: ditto: replaced
gimp_image_undo_push_layer_mod() and
gimp_image_undo_push_channel_mod() by
gimp_image_undo_push_drawable_mod().
* app/core/gimpdrawable.[ch]: added undo_desc strings for "resize"
and "scale" to the GimpDrawableClass struct.
(gimp_drawable_scale)
(gimp_drawable_resize): pass push_undo = TRUE to
gimp_drawable_set_tiles_full() and use the undo_desc from the
class.
(gimp_drawable_real_set_tiles): push a GIMP_UNDO_DRAWABLE_MOD here...
* app/core/gimpchannel.c
* app/core/gimplayer.c: ...and don't push undos in
GimpItem::scale(), GimpItem::resize(), GimpDrawable::set_tiles().
* app/core/gimpchannel.c: Removed even more bounds_known = FALSE
assignments from functions which already call
gimp_drawable_set_tiles().
2004-03-15 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.c (gimp_drawable_set_tiles_full): emit
"update" signals from the drawable before and after setting tiles
and offsets.
* app/core/gimpdrawable-offset.c (gimp_drawable_offset)
* app/core/gimpdrawable-transform.c (gimp_drawable_transform_paste)
* app/core/gimpimage-undo-push.c (undo_pop_layer_mod, _channel_mod)
* app/text/gimptextlayer.c (gimp_text_layer_render)
* app/tools/gimptransformtool.c (gimp_transform_tool_doit):
removed calls to gimp_drawable_update().
* app/core/gimpdrawable-offset.c (gimp_drawable_offset): don't
push an undo step before calling gimp_drawable_set_tiles()
but simply pass push_undo == TRUE and the undo_desc.
2004-03-15 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.[ch]: added "offset_x" and "offset_y"
parameters to GimpDrawable::set_tiles().
(gimp_drawable_set_tiles): removed the "GimpImageType" parameter.
(gimp_drawable_set_tiles_full): new function adding type, offset_x
and offset_y parameters.
(gimp_drawable_real_set_tiles): set the drawable's offsets from
the offset parameters and its size from the passed TileManager's
size. Emit "size_changed" accordingly.
* app/core/gimpchannel.c
* app/core/gimpdrawable-offset.c
* app/core/gimpdrawable-transform.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-undo-push.c
* app/core/gimplayer.c
* app/text/gimptextlayer.c
* app/tools/gimptransformtool.c: changed accordingly: removed
calls to gimp_viewable_size_changed() and all sorts of hackish
assignments of the drawable's width/height/offset_x/offset_y
properties.
2004-03-15 Michael Natterer <mitch@gimp.org>
* app/text/gimptextlayer.c (gimp_text_layer_render): don't call
gimp_image_flush().
* app/tools/gimpxttool.c (gimp_text_tool_apply): call it here
instead.
Now that we have a common place that exchanges drawable->tiles,
we can abstract away boundary invalidation for this operation:
* app/core/gimpdrawable.c (gimp_drawable_real_set_tiles):
call gimp_drawable_invalidate_boundary() before setting
the new tiles.
* app/core/gimpchannel.c (gimp_channel_set_tiles)
* app/core/gimpdrawable-transform.c (gimp_drawable_transform_paste)
* app/core/gimpimage-undo-push.c (undo_pop_layer_mod)
* app/core/gimplayer.c (gimp_layer_scale) (gimp_layer_resize)
(gimp_layer_flip) (gimp_layer_rotate) (gimp_layer_transform)
* app/text/gimptextlayer.c (gimp_text_layer_render): removed
calls to gimp_drawable_invalidate_boundary() from all functions
which finally call gimp_drawable_real_set_tiles().
* app/tools/gimptransformtool.c (gimp_transform_tool_doit): no
need to set channel->bounds_known to FALSE, because
gimp_drawable_set_tiles() already did this.
2004-03-15 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.[ch]: added "gboolean alpha_changed" to
GimpImageFlushAccumulator. Install an "alpha_changed" handler
on gimage->layers and set flush_accum.alpha_changed = TRUE
whenever the image's *only* layer changed its alpha.
* app/core/gimpimage-undo-push.c (undo_pop_layer_mod)
* app/core/gimplayer.c (gimp_layer_add_alpha): removed
explicit calls to gimp_image_alpha_changed().
2004-03-15 Simon Budig <simon@gimp.org>
* app/base/tile-swap.[ch]: Applied a modified version of a patch
from Raphaël, that implements a test if a swap file can be
created. Also make the failure message more verbose.
* app/base/base.[ch]: extend base_init() with a boolean return
to indicate if the test to create a swap file was OK.
* app/app_procs.c: Display a warning message at startup when the
test fails.
Fixes bug #64835.
2004-03-15 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.c (gimp_drawable_real_set_tiles): emit
"alpha_changed" if the drawable got/lost an alpha channel by
setting the new tiles.
* app/core/gimpimage-undo-push.c (undo_pop_layer_mod)
* app/core/gimplayer.c (gimp_layer_add_alpha): removed explicit
calls to gimp_drawable_alpha_changed().
2004-03-15 Michael Natterer <mitch@gimp.org>
Closer to text layer undo:
* app/core/gimpchannel.c (gimp_channel_set_tiles): invalidate the
channel's boundary and bounds.
* app/text/gimptextlayer.c: implement GimpDrawable::swap_pixels()
and set text_layer->modified = TRUE after upchaining.
(gimp_text_layer_render): use gimp_drawable_set_tiles() and
set text_layer->modified = FALSE afterwards.
* app/core/gimpimage-undo-push.c: cleaned up variable declarations
and initializations.
(undo_pop_layer_mod)
(undo_pop_channel_mod): use gimp_channel_set_tiles() instead of
touching drawable->tiles manually. Now all pixel manipulation
(at least on layers) should be virtualized and can be detected by
the text layer.
2004-03-15 Michael Natterer <mitch@gimp.org>
Prepare the undo system for proper text layer undo:
* app/core/core-enums.[ch] (enum GimpUndoType): replaced
GIMP_UNDO_IMAGE and GIMP_UNDO_IMAGE_MOD by GIMP_UNDO_DRAWABLE.
* app/core/gimpimage-undo-push.[ch]: ditto: replaced
gimp_image_undo_push_image() and gimp_image_undo_push_image_mod()
by gimp_image_undo_push_drawable() which *always* expects to get a
TileManager passed. Also added g_return_if_fail()s to check if the
passed in tile manager follows the semantics of the "sparse"
boolean.
(undo_pop_drawable): removed all code and call the new
gimp_drawable_swap_pixels() instead (see below).
* app/core/gimpdrawable.[ch] (gimp_drawable_push_undo): if tiles
are NULL, create a copy of the area here and always pass tiles to
gimp_image_undo_push_drawable(). Added lots of g_return_if_fail()
here too.
Added new vitrual function GimpDrawable::swap_pixels() which
does what undo_pop_drawable() did.
* app/core/gimpchannel.c: implement swap_pixels() and invalidate
the channel's bounds and boundary.
2004-03-15 Sven Neumann <sven@gimp.org>
* app/gui/preferences-dialog.c: don't show a web-browser setting
on win32, it's not used there (see bug #137173).
2004-03-15 Sven Neumann <sven@gimp.org>
* data/images/gimp_splash.png: splash image for GIMP 2.0 by Jimmac.
* app/gui/splash.[ch]: draw the text on the splash image, not
below it.
* app/app_procs.[ch]
* app/gui/gui.[ch]
* app/main.c
* docs/gimp.1.in: dropped support for the --no-splash-image
command-line option (not to be confused with --no-splash). It was
never very useful and makes even less sense in times where startup
notification is available.
2004-03-15 Simon Budig <simon@gimp.org>
* app/core/gimpimage.[ch]
* app/core/gimpimage-undo.c: renamed gimage->freeze_count
to gimage->undo_freeze_count (more explicit).
* app/file/file-open.c: Ensure that the undo system is enabled
after loading an image (to protect against broken loaders).