2004-01-15 Michael Natterer <mitch@gimp.org>
* plug-ins/helpbrowser/helpbrowser.c: removed
GIMP_HELP_DEFAULT_DOMAIN #define...
* plug-ins/helpbrowser/domain.h: ...and added it here.
* plug-ins/helpbrowser/domain.c: fixed the fix for bug #128112:
don't compare the help domain's base uri (which is variable) but
the help domain's name (which is constant). Re-added removed
information to the error message while keeping its user
readability. Marked g_message() strings for translation.
2004-01-15 Michael Natterer <mitch@gimp.org>
Fixed bug #78732 (don't paste off screen):
* app/display/gimpdisplayshell-transform.[ch]: added new function
gimp_display_shell_untransform_viewport() which returns the
visible rectangle of the image in image coordinates.
* app/core/gimp-edit.[ch] (gimp_edit_paste): added viewport
parameters and changed positioning of the pasted layer as follows:
- if there is a selection, center on the selection (just as before).
- if there is no viewport, center on the active drawable.
- if the viewport intersects with the active drawable, center
on the intersection.
- if the viewport does *not* intersect with the active drawable,
center on the active drawable (off-screen, but better than pasting
something that will be invisible due to floating selection clipping).
- if there is no active drawable, center on the viewport.
- if there is no active drawable and no viewport, center on the image.
* app/widgets/gimpbufferview.c (gimp_buffer_view_paste_clicked)
(gimp_buffer_view_paste_into_clicked)
* app/display/gimpdisplayshell-dnd.c (gimp_display_shell_drop_buffer)
* app/gui/edit-commands.c (edit_paste_cmd_callback)
(edit_paste_into_cmd_callback): ask the shell for the viewport
and pass it to gimp_edit_paste().
* app/display/gimpdisplayshell-dnd.c
(gimp_display_shell_drop_drawable): center the created layer on
the viewport.
* app/tools/gimpmovetool.c (gimp_move_tool_button_release): use
gimp_display_shell_untransform_viewport() (its code was taken from
here).
* tools/pdbgen/pdb/edit.pdb: pass "no viewport" to gimp_edit_paste().
* app/pdb/edit_cmds.c: regenerated.
2004-01-15 Dave Neary <bolsh@gimp.org>
* NEWS: Now that we're in pre-release mode, list all the bugs fixed
in this release, rather than features added. Commits which don't fix
bugs are listed in the "Other contributions" section. Bugs were added
in chronological order according to when the fix was committed (so
the first bug in the list was the one committed soonest after the
2.0pre1 release).
2004-01-15 Dave Neary <bolsh@gimp.org>
* NEWS: Now that we're in pre-release mode, list all the bugs fixed
in this release, rather than features added. Commits which don't fix
bugs are listed in the "Other contributions" section. Bugs were added
in chronological order according to when the fix was committed (so
the first bug in the list was the one committed soonest after the
2.0pre1 release).
2004-01-15 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.c: moved initialization of the
gimage->visible[] and gimage->active[] arrays from
gimp_image_new() to gimp_image_init(). Use gimp_rgba_set()
to initialize gimage->qmask_color.
2004-01-15 Dave Neary <bolsh@gimp.org>
* plug-ins/helpbrowser/domain.c: Modify error messages shown when
help files cannot be opened. For the main GIMP help domain, the
error message is now "Failed to open help files:\nTheGIMP help files
are not installed." and in the general case "Failed to open help
files:\nThe requested help file %s could not be opened.\nPlease check
your installation." This fixes bug #128112.
2004-01-15 Sven Neumann <sven@gimp.org>
* data/misc/Makefile.am: added a "validate" rule that attempts to
validate the generated gimp.desktop file using desktop-file-validate
(from desktop-file-utils). Run it on 'make dist'.
* tips/Makefile.am: for consistency, moved the existing validation
code to a rule called "validate".
* plug-ins/common/plugindetails.c: clean up the code (use
gimp_table_attach_aligned() where needed).
* plug-ins/dbbrowser/dbbrowser.c:
* plug-ins/dbbrowser/dbbrowser_utils.c: changed tabs to spaces.
2004-01-14 Dave Neary <bolsh@gimp.org>
* app/core/gimpimage.c: get the type of the drawable, not the
image, when transforming a TempBuf, making dragging & dropping
patterns on layer masks work correctly. Fixes bug #131146.
2004-01-14 Michael Natterer <mitch@gimp.org>
Some code review:
* app/core/gimpimage.c: named the gint paramater in all
colormap_changed related functions to "color_index", fixed typo in
parasite undo description, moved some variables to local scopes,
changed the layer raise/lower functions to look like the channel
and vector ones, cosmetics.
* app/core/gimpimage-colorhash.c: removed trailing whitespace,
initialize / reset more stuff to 0, cosmetics.
2004-01-14 Tor Lillqvist <tml@iki.fi>
* app/file/file-utils.[ch]: Add new function
file_utils_filename_to_utf8(), which is to be used when converting
file names (which are kept in the on-disk encoding) to UTF-8 for
passing to GTK, or to g_print() etc.
* app/*/*.c: Call file_utils_filename_to_utf8(). Should fix most
of the warnings generated by non-UTF8 pathnames. See #130118.
* libgimpbase/gimpenv.b: Document that gimp_directory() etc return
strings in the on-disk encoding.
* libgimpmodule/gimpmodule.c: Convert filenames to UTF-8 (using
g_filename_to_utf8()) before passing to g_print().
2004-01-13 Simon Budig <simon@gimp.org>
* data/images/gimp_logo.png: New image for the about dialog by
Jakub Steiner.
* app/gui/about-dialog.c: Adjusted to new image. Also could not
resist to add a fancy effect...
* data/images/gimp1_2_logo.png: Saved the image from 1.2.
2004-01-13 Michael Natterer <mitch@gimp.org>
Allow invoking the text tool by double clicking a text layer in
the layers dialog, just like the path tool is invoked when double
clicking a path.
* app/tools/gimptexttool.[ch]: added empty
gimp_text_tool_set_layer() stub. Sven, your turn...
* app/gui/layers-commands.[ch]: added layers_text_tool() which
invokes the text tool on text layers and falls back to
layers_edit_layer_query() otherwise.
Added layers_text_tool_cmd_callback() for the layers menu.
* app/gui/layers-menu.c: added "Text Tool" menu item and hide
it for layers which are no text layers.
* app/gui/dialogs-constructors.c (dialogs_layer_list_view_new):
use layers_text_tool() as "activate" function.
2004-01-13 Michael Natterer <mitch@gimp.org>
* app/composite/Makefile.am (AM_CPPFLAGS): G_LOG_DOMAIN should be
"Gimp-Composite", not "Gimp-Composition".
* app/app_procs.c (app_run): register a log handler for the
"Gimp-Composite" domain.
2004-01-13 Michael Natterer <mitch@gimp.org>
* app/base/gimphistogram.c: added GimpHistogramChannel index
fiddling hacks for GRAYA images to all gimp_histogram_get_*()
functions. The public API now does what their enum values pretend
to do.
(gimp_histogram_calculate): restructured to reduce indentation depth.
* app/widgets/gimphistogrameditor.c
* app/widgets/gimphistogramview.c
* tools/pdbgen/pdb/color.pdb: removed hacks here and always use
the unchanged enum values.
* app/pdb/color_cmds.c: regenerated.
2004-01-13 Michael Natterer <mitch@gimp.org>
* app/base/gimphistogram.[ch]: renamed gimp_histogram_nchannels()
to gimp_histogram_n_channels().
* app/core/gimpdrawable-histogram.c: removed silly double negation
logic. Cleanup.
* app/widgets/gimphistogrameditor.c
* app/widgets/gimphistogramview.c: adjust the GimpHistogramChannel
for GRAYA images to make sure we pick alpha from the right slot.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c: removed the same hack here and call
gimp_histogram_view_set_channel() with the correct enum value.
* tools/pdbgen/pdb/color.pdb (levels, curves, histogram): fiddle
with enum values here too so GRAY* drawables produce the correct
results.
Fixed precondition checks and set "success" in a uniform way all
over the place.
Use gimp_drawable_calculate_histogram() instead of duplicating its
code here.
(started with a patch from Pedro Gimeno. Fixes bug #109078)
* app/pdb/color_cmds.c: regenerated.
2004-01-12 Michael Natterer <mitch@gimp.org>
* app/base/gimphistogram.c (gimp_histogram_calculate_sub_region):
advance the source pointer by 4, not 3 bytes for regions with
4 bytes (ouch). Cosmetics.
2004-01-12 Sven Neumann <sven@gimp.org>
* data/misc/gimp.desktop.in.in (Exec): use 'gimp-remote-1.3 --new'
here so that drops on the application icon don't necessarily spawn
a new instance.
2004-01-12 Michael Natterer <mitch@gimp.org>
Enabled/fixed moving of channels and layer masks (was something
between disabled and broken before).
* app/tools/gimpeditselectiontool.h (enum EditType): added new
values EDIT_CHANNEL_TRANSLATE and EDIT_LAYER_MASK_TRANSLATE.
* app/tools/gimpmovetool.c (gimp_move_tool_button_press): look at
the type of the active drawable and invoke GimpEditSelectionTool
accordingly.
(gimp_move_tool_cursor_update): don't show the "bad" cursor when
the active drawable is a channel or layer mask.
* app/tools/gimpeditselectiontool.c: changed/enabled moving of
channels and layer masks to work similar to selection mask moving:
- Show only the item's outline while moving and do the actual move
on button_release.
- Fixed/generalized some code to cope with the fact that we move
the linked layers/vectors *while* moving but the moved channel
itself *after* moving.
- Draw the channel's/mask's bounding box instead of its boundary
if the boundary is empty (if all its values are either below or
above HALF_WAY).
2004-01-12 Sven Neumann <sven@gimp.org>
* app/gui/plug-in-menus.c (plug_in_menus_init): only call
bind_textdomain_codeset() when it is available. Spotted by
Reinhard Geissler (bug #131215).
2004-01-12 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-projection.c (gimp_image_invalidate): applied
patch from Pedro Gimeno that makes sure we always invalidate
complete tiles, not parts of it. Fixes bug #116765.
* app/display/gimpdisplay.c (gimp_display_paint_area): calculate
the image area to invalidate using sub-pixel precision and
ceil()/floor() the resulting area to make sure we always
invalidate a superset of the dirty area, not a subset. A rounding
error here has never been reported but would cause effects similar
to #116765.
2004-01-12 Sven Neumann <sven@gimp.org>
* libgimp/gimpmenu.c (gimp_image_menu_new): call the callback with
the selected image which is not necessarily the requested one
(fixes bug #92586).
Also changed all menu constructors to always call the registered
callback even when the value is -1 because the menu is empty.
* app/gui/plug-in-commands.c (plug_in_run_cmd_callback): run the
procedure even if there's no active GIMP display. The display and
screen is then taken from the current cursor position.
* app/gui/gui-vtable.c (gui_get_display_name): don't call
gimp_display_get_by_ID() unless gdisp_ID is > 0.
2004-01-12 Sven Neumann <sven@gimp.org>
* plug-ins/common/CML_explorer.c (parse_line_to_gdouble): use
g_ascii_strtod() instead of the locale-dependant atof().
2004-01-12 Sven Neumann <sven@gimp.org>
* plug-ins/common/CML_explorer.c: render a grayscale preview when
the plug-in is run on a grayscale drawable (fixes bug #82465).