2004-06-13 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs.[ch] (shapeburst_region): added
progress callback.
* app/core/gimpdrawable-blend.c: show a progress while calculating
the Shapeburst. Not perfect but better than not showing any
progress at all.
2004-06-13 Michael Natterer <mitch@gimp.org>
* app/widgets/widgets-enums.[ch]: added enum GimpCursorFormat
which can be one of { BITMAP, PIXBUF, PIXBUF-PREMULTIPLY } to
work around broken X servers.
* app/config/gimpguiconfig.[ch]
* app/config/gimprc-blurbs.h: added GimpGuiConfig::cursor-format.
* app/gui/preferences-dialog.c: added a GUI for the new option.
* app/widgets/gimpcursor.[ch]: added cursor_format parameter
to gimp_cursor_new() and _set().
* app/display/gimpdisplayshell-cursor.c
* app/tools/gimpcurvestool.c
* app/widgets/gimpdialogfactory.c: pass an appropriate cursor_mode.
2004-06-13 Sven Neumann <sven@gimp.org>
* app/core/gimppalette.c (gimp_palette_load): don't use the rather
inefficient gimp_palette_add_entry() when loading a palette.
2004-06-13 Michael Natterer <mitch@gimp.org>
* app/core/gimpdata.[ch]: added "gint freeze_count" and
gimp_data_freeze()/thaw() functions. Emit "dirty" only if
freeze_count either is 0 or drops to 0.
* app/core/gimpbrushgenerated.[ch]
* app/core/gimpgradient.[ch]: removed freeze/thaw stuff that
was duplicated in these two subclasses and use the new
GimpData API instead.
* app/widgets/gimpbrusheditor.c
* app/widgets/gimpgradienteditor.c: changed accordingly.
2004-06-12 Simon Budig <simon@gimp.org>
* app/tools/gimptransformtool.c: Make Enter/Return apply the
transformation, Backspace/Delete resets the transformation.
* app/tools/gimpcroptool.c: Simplify the key_press callback.
2004-06-12 Simon Budig <simon@gimp.org>
* app/tools/gimpcroptool.c: Make the Enter/Return key do
the crop action.
* app/tools/gimpeditselectiontool.c
* app/tools/gimpvectortool.c: Make the _key_press functions
safe for non-arrow keys.
2004-06-12 Simon Budig <simon@gimp.org>
* app/tools/gimptool.[ch]: renamed the "arrow_key" member
to "key_press", since it is now no longer about just the arrow
keys.
* app/tools/gimpcroptool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpeditselectiontool.h
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimpselectiontool.c
* app/tools/gimptexttool.c
* app/tools/gimpvectortool.c
* app/tools/tool_manager.c: Changed accordingly.
2004-06-12 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_init): add
the file DND destination before all others so the DND code will
implicitly use its destination properties. Works around Konqueror
offering only file MOVE, not COPY and fixes bug #144168.
2004-06-12 Simon Budig <simon@gimp.org>
* app/tools/tool_manager.[ch]: renamed
tool_manager_arrow_key_active to tool_manager_key_press_active.
* app/display/gimpdisplayshell-callbacks.c: Also dispatch
GDK_Return/KP_Enter/BackSpace/Delete to the tools "arrow_key"
member of GimpTool probably should be renamed.
* app/tools/gimpvectortool.c: Use Enter/Return to convert the
current path to a selection, use Backspace/Delete to delete the
currently active anchors in a path.
Implemented on Jimmacs request - thanks for being a great host :)
2004-06-12 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogrameditor.c (gimp_histogram_editor_init):
set the initially selected channel on the histogram combobox.
Fixes bug #144225.
2004-06-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpthumbbox.c (gimp_thumb_box_new): line-wrap the
filename label if it's too long instead of cutting it off.
2004-06-10 Michael Natterer <mitch@gimp.org>
* app/actions/image-actions.c
* app/actions/image-commands.[ch]
* app/actions/layers-actions.c
* app/actions/layers-commands.[ch]: made the
"image-convert-rgb/grayscale/indexed" and the
"layers-mask-apply/delete" actions GimpEnumActions and merged
their callbacks.
2004-06-10 Philip Lafleur <plafleur@cvs.gnome.org>
* app/gui/preferences-dialog.c: restored the 'Show Paint Tool
Cursor' option that was removed during clean-up.
2004-06-10 Sven Neumann <sven@gimp.org>
* app/gui/user-install-dialog.c: removed the monitor calibration
from the user installation process. It's not a vital setting and
can be done from the Preferences dialog later.
* app/gui/resolution-calibrate-dialog.[ch]: simplified the
resolution calibration dialog by removing the hacks that were
needed for drawing it in the user-installation style.
* app/gui/preferences-dialog.c: changed accordingly. Also removed
the separator from the Display page.
2004-06-10 Sven Neumann <sven@gimp.org>
* app/widgets/gimptemplateeditor.[ch]: added an API to
expand/collapse the "Advanced Options" frame.
* app/gui/preferences-dialog.c
* app/widgets/gimphelp-ids.h: applied a patch done by William
Skaggs that cleans up and reorganizes the Preferences dialog
(bug #144060).
2004-06-09 Sven Neumann <sven@gimp.org>
* app/tools/gimppenciltool.c (gimp_pencil_tool_init): no need
request GIMP_MOTION_MODE_EXACT here since the parent class does
that already.
* app/tools/gimpinktool.c (gimp_ink_tool_init): ditto. Enable the
color picker feature for the ink tool.
2004-06-09 Sven Neumann <sven@gimp.org>
* app/actions/select-actions.c (select_actions_update): "Save to
Channel" makes sense without a selection also, so don't set it
insensitive.
2004-06-07 Michael Natterer <mitch@gimp.org>
* app/core/gimplayer.c (gimp_layer_set_tiles): don't set
layer->mask's offsets. It is wrong because GimpDrawable::set_tiles()
is a lowlevel function which is used by stuff like scale and
resize which keep the mask in sync explicitely and don't expect it
to be moved in the middle of chaining up. Fixes bug #143860.
2004-06-07 Michael Natterer <mitch@gimp.org>
* app/actions/view-actions.c
* app/actions/view-commands.[ch]: added separate callback for
"view-zoom-other" and connect GtkAction::activate manually so
"Other..." can be selected even if it's the active item in the
zoom radio group. Fixes bug #143850.
2004-06-07 Sven Neumann <sven@gimp.org>
* app/menus/plug-in-menus.c (plug_in_menus_setup): sort the menus
by the translated menu path stripped from underscores.
2004-06-05 Sven Neumann <sven@gimp.org>
* app/paint/gimppaintcore.c
* app/paint-funcs/paint-funcs-generic.h
* app/paint-funcs/paint-funcs.[ch]: applied a patch from Philip
Lafleur that changes the way that paint is applied during a paint
stroke. Fixes bug #124225.
2004-06-05 Sven Neumann <sven@gimp.org>
* app/widgets/gimpgradienteditor.c: applied a patch from David
Gowers that makes the gradient editor display the perceptual
intensity of the color under the cursor (bug #135037).
2004-06-05 Sven Neumann <sven@gimp.org>
* app/text/gimptextlayer-transform.[ch]: updated the (still unused)
unused text transformation code.
* app/text/gimptext-bitmap.c: removed a redundant transformation.
2004-06-05 Michael Natterer <mitch@gimp.org>
* cursors/Makefile.am
* cursors/cursor-none.png
* cursors/xbm/cursor-none.xbm: new empty cursor images.
* app/config/gimpdisplayconfig.[ch]
* app/config/gimprc-blurbs.h
* app/widgets/widgets-enums.h
* app/widgets/gimpcursor.c
* app/display/gimpdisplayshell-cursor.c
* app/tools/gimppainttool.[ch]
* app/tools/gimpinktool.c
* app/gui/preferences-dialog.c: applied patches from Philip
Lafleur which implement hiding the cursor completely for paint
tools. Changed the name of the config option from
"hide-paint-tool-cursor" to "show-paint-tool-cursor" and default
to TRUE because this needs the brush outline being visible while
painting to be really usable. Fixes bug #132163.
* app/widgets/widgets-enums.h: renamed all GimpCursorType and
GimpToolCursorType enum values to GIMP_CURSOR_* and
GIMP_TOOL_CURSOR_*.
* app/widgets/gimpcursor.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-cursor.c
* app/tools/gimp*tool.c; changed accordingly.
2004-06-04 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcursor.c: changed create_cursor_foo() utility
functions to get_cursor_foo() and use them as accessors instead of
using cursor->member. Use gdk_pixbuf_copy() instead of compositing
the initial image onto an empty pixbuf.
2004-06-04 Michael Natterer <mitch@gimp.org>
* cursors/*.xbm: removed...
* cursors/xbm/*.xbm: ...and added here instead. Renamed them
all to match the PNG file names.
* cursors/Makefile.am: changed accordingly.
* app/widget/gimpcursor.c: ditto. Merged the two cursor creating
functions again because they duplicated too much code.
2004-06-04 Sven Neumann <sven@gimp.org>
* app/menus/plug-in-menus.c (plug_in_menus_setup): populate the
tree with collation keys and use strcmp() instead of
g_utf8_collate() as the tree's sort function.
2004-06-04 Sven Neumann <sven@gimp.org>
* app/paint/gimppaintoptions.c (DEFAULT_PRESSURE_PRESSURE):
applied a patch by Philip Lafleur that changes the default to
FALSE. Fixes bug #143626.
2004-06-03 Michael Natterer <mitch@gimpmp.org>
* app/widgets/gimptoolbox.c (gimp_toolbox_size_allocate): use
gtk_widget_size_request() instead of _get_child_requisition()
because we need to know the size of the toolbox' areas
even if they are invisible. Fixes SIGFPE spotted by Jimmac.
2004-06-03 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcursor.c: some cleanup. Make the tool_cursor
and cursor_modifier components slightly transparent.
* cursors/cursor-mouse.png: was the wrong image.
2004-06-03 Michael Natterer <mitch@gimp.org>
* cursors/Makefile.am
* cursors/*.png: added PNG version of all cursors.
* cursors/gimp-tool-cursors.xcf: reordered and renamed all layers
to match the new PNG filenames.
* app/widgets/gimpcursor.[ch]: create cursors with alpha and color
if the GdkDisplay supports it. Fall back to the old stuff
otherwise.
2004-06-03 Sven Neumann <sven@gimp.org>
* app/core/gimpdatafactory.c (gimp_data_factory_load_data):
removed commented-out message.
* app/core/gimppattern.[ch]: fixed handling of errors and PNG
comments in new pattern loader. Renamed functions for consistency
with other data loaders.
* app/core/gimp.c: changed accordingly.
2004-06-03 Dave Neary <bolsh@gimp.org>
* app/core/gimp.c:
* app/core/gimpdatafactory.c:
* app/core/gimppattern.[ch]: Add support for GdkPixbuf patterns,
so now all of png, jpex, pnm, xbm, bmp, gif, ico, pcx, ras, tga,
xpm and tiff can be used for patterns.
2004-06-03 Michael Natterer <mitch@gimp.org>
* app/actions/vectors-actions.c: added alternative actions
"vectors-selection-from-vectors" and
"vectors-selection-to-vectors-short" with different labels suited
for the "Select" menu.
* app/actions/select-actions.c: removed "select-from-vectors"
and "select-to-vectors" (to vectors was crashing anyway).
* app/actions/select-commands.[ch]: removed
select_from_vectors_cmd_callback(). Fixes code dupliction.
* menus/image-menu.xml.in
* menus/selection-editor-menu.xml: changed accordingly.
2004-06-03 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpgradienteditor.c (control_motion): use the newly
added GimpGradient API to set the segment's handles instead of
setting the values directly. Dirties the gradient correctly and
makes the preview update instantly again. Fixes bug #143605.
2004-06-03 Sven Neumann <sven@gimp.org>
* app/gui/file-open-location-dialog.c
(file_open_location_completion): check for NULL pointer before
passing it to g_utf8_normalize(). Just a workaround for a problem
in GimpContainerView.
2004-06-02 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/gradient_edit.pdb: set_blending_function() and
set_coloring_type() work on segment ranges, renamed them
accordingly. Spotted by Shlomi Fish.
* app/pdb/gradient_edit_cmds.c
* libgimp/gimpgradientedit_pdb.[ch]: regenerated.
2004-06-02 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdnd.h: removed enum GimpDndType...
* app/widgets/widgets-enums.h: ...and added it here.
* app/widgets/gimpdnd.c: added more g_return_if_fail(). Allow
all gimp_dnd_foo_dest_add() functions to be called without
callback (just add the target if callback is NULL).
(gimp_dnd_open_files): removed the checks for validity of the
passed filenames/uris...
(gimp_dnd_set_file_data): ...and added it here so all callbacks
get an already sanitized list of strings.
2004-06-02 Sven Neumann <sven@gimp.org>
* app/actions/Makefile.am (EXTRA_DIST)
* app/menus/Makefile.am (EXTRA_DIST): removed makefile.msc until
they have been added.
2004-06-02 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontainerview.c: create the hash table when
inserting items; removes redundant create/destroy cycles and plugs
a memory leak.
2004-06-02 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-dnd.c
(gimp_display_shell_drop_files): copy the merged layer, not the
first one. Preserve the type of the layer to make e.g. dropping an
XCF with a single text layer work.
2004-06-02 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_init): accept
file/uri drops.
* app/display/gimpdisplayshell-dnd.[ch]
(gimp_display_shell_drop_files): open any kind of image and turn
it into a single layer which is added to the image (suggested by
Antenne Springborn).
2004-06-02 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/gradient_edit.pdb: forgot two more s/int32/enum/.
* app/pdb/gradient_edit_cmds.c
* libgimp/gimpgradientedit_pdb.[ch]: regenerated.
2004-06-01 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/image.pdb
* app/pdb/image_cmds.c
* app/core/gimpimage.[ch]: reverted changes I did to the image
unit earlier. As in 2.0, it will continue to not accept pixels.
This makes the PDB API and the XCF format compatible again and
fixes bug #142961 (and to some extent bug #137704).
* app/core/Makefile.am
* app/core/gimpimage-unit.[ch]: removed these files. The
convenience accessors defined here aren't commonly used any
longer.
* app/display/gimpdisplay.[ch]
* app/display/gimpdisplayshell.[ch]: added a unit parameter to
gimp_display_new(). Made "unit" and "scale" properties of
GimpDisplayShell.
* app/actions/image-commands.c
* app/actions/images-commands.c
* app/actions/layers-commands.c
* app/actions/select-commands.c
* app/actions/view-commands.c
* app/core/gimp-edit.c
* app/core/gimp.[ch]
* app/core/gimptemplate.c
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpstatusbar.c
* app/file/file-open.c
* app/gui/gui-vtable.c
* app/gui/info-window.c
* app/gui/offset-dialog.c
* app/gui/resize-dialog.[ch]
* app/pdb/display_cmds.c
* app/tools/gimpcroptool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c
* app/tools/gimprectselecttool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/vectors/gimpvectors-export.c
* app/widgets/gimptoolbox-dnd.c
* tools/pdbgen/pdb/display.pdb: changed accordingly. Use the
display unit where the image unit was used before.
2004-06-01 Michael Natterer <mitch@gimp.org>
* app/core/gimpdatafactory.[ch]: added new function
gimp_data_factory_data_delete().
* app/actions/data-commands.c (data_delete_callback): use it.
* tools/pdbgen/pdb/gradients.pdb: applied (slightly modified)
patch from Shlomi Fish which adds PDB wrappers to create, delete,
duplicate and rename gradients.
* app/pdb/gradients_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpgradients_pdb.[ch]: regenerated.
2004-06-01 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.h: renamed the values of the
GimpGradientSegment* enums from GIMP_GRAD_* to
GIMP_GRADIENT_SEGMENT_* because they are exported now.
* app/core/gimp-gradients.c
* app/core/gimpgradient.c
* app/actions/gradient-editor-actions.c: changed accordingly.
* libgimp/gimpenums.h
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
2004-06-01 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainertreeview-dnd.c
* app/widgets/gimpitemtreeview.c: some cleanup in the tree view
DND code.
2004-06-01 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpsessioninfo.c (gimp_session_info_restore): added
a horrible hack that sets the paned's position after the first
"size-allocate" after "map". Makes position remembering work for
the toolbox and fixes bug #142697.
* app/widgets/gimpdockable.[ch]: added new function
gimp_dockable_set_tab_style()
* app/actions/dockable-commands.c (dockable_tab_style_cmd_callback)
* app/widgets/gimpsessioninfo.c (gimp_session_info_restore):
use gimp_dockable_set_tab_style().
2004-05-31 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontainerentry.[ch]: export the column enum.
* app/gui/file-open-location-dialog.c: use a GimpContainerEntry
on the documents list.
2004-05-31 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/gimptoolbox-image-area.[ch]: new toolbox area which
shows the active image.
* app/config/gimpguiconfig.[ch]
* app/config/gimprc-blurbs.h: added config options to control the
visibility of the toolbox' color, indicator and image areas.
* app/widgets/gimptoolbox.[ch]: added the image area and honor the
new config options. Put the various areas into their own wrap box.
* app/widgets/gimptoolbox-dnd.c: changed accordingly.
* app/widgets/gimphelp-ids.h: added a help ID for the image area.
* app/widgets/gimptoolbox-indicator-area.c: made the previews
a bit larger, cleanup.
* app/gui/preferences-dialog.c: added a "Toolbox" page as GUI for
the new config options.
* themes/Default/images/preferences/Makefile.am
* themes/Default/images/preferences/toolbox.png: a (wrong) icon
for the "Toolbox" prefs page. Needs to be replaced.
2004-05-31 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcontainerentry.[ch]: added new widget
GimpContainerEntry, a GtkEntry with completion that implements the
GimpContainerView interface.
* app/tools/gimptextoptions.c (gimp_text_options_gui): added a
GimpContainerEntry to select the font.
2004-05-31 Sven Neumann <sven@gimp.org>
* app/paint/gimpconvolve.c
* app/paint-funcs/paint-funcs.[ch]
* app/tools/gimpiscissorstool.c: reverted last change and applied
new patch instead (bug #72878).
2004-05-31 Sven Neumann <sven@gimp.org>
* app/paint/gimpconvolve.c
* app/paint-funcs/paint-funcs.[ch]
* app/tools/gimpiscissorstool.c: applied a patch from Philip
Lafleur that fixes RGBA resampling in Convolve tool (bug #72878).
2004-05-31 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.h
* app/core/gimpgradient.[ch]
* app/pdb/Makefile.am
* app/widgets/gimpgradienteditor.c
* tools/pdbgen/Makefile.am
* tools/pdbgen/groups.pl
* tools/pdbgen/pdb/gradient_edit.pdb: applied a patch from Shlomi
Fish that adds lots of gradient edit functions to
gimpgradient.[ch] and makes them available through the PDB.
Fixes bug #129675 and bug #129678.
Did some cleanups / enhancments to the patch:
* app/core/gimpgradient.[ch]: changed the naming scheme of the new
functions and changed old functions to match the new scheme.
Introduce a "freeze_count" and public freeze()/thaw() API which
enables subsequent gradient changes without "dirty" being emitted
all the time. Added GimpGradient parameters to all functions
which modify the gradient.
* app/widgets/gimpgradienteditor.c: use the new freeze/thaw
stuff to keep the gradient from updating when not in
"Instant Update" mode.
* app/actions/gradient-editor-commands.c: removed all gradient
editing code and call the new core functions.
* libgimp/Makefile.am
* tools/pdbgen/pdb/gradient_edit.pdb: changed the namespace of all
added functions. Generate libgimp wrappers for them..
* app/pdb/gradient_edit_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimp_pdb.h
* libgimp/gimpenums.h
* libgimp/gimpgradientedit_pdb.[ch]
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: (re)generated.
2004-05-29 Sven Neumann <sven@gimp.org>
* plug-ins/common/autocrop.c: applied patch from Philip Lafleur
that makes Autocrop register a new procedure that autocrops a
single layer as requested in bug #142618.
* tools/pdbgen/pdb/layer.pdb
* app/pdb/layer_cmds.c
* libgimp/gimplayer_pdb.c: fixed documentation for gimp_resize_layer.
Patch provided by Philip Lafleur (bug #142618).
2004-05-29 Sven Neumann <sven@gimp.org>
* app/widgets/gimptemplateeditor.c
(gimp_template_editor_constructor): add the spinbuttons to the
size entry in the correct order. Fixes bug 143347.
2004-05-28 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_open_files): if the dropped
stuff is a local filename (no file URI), convert it to an
URI instead of forwarding it unmodified.
2004-05-28 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppreview.c (gimp_preview_button_press_event):
don't invoke the popup preview if there is no viewable.
2004-05-28 Michael Natterer <mitch@gimp.org>
* app/text/gimpfont.c (gimp_font_get_popup_size)
(gimp_font_get_new_preview): take both logical and ink rectangle
into account to avoid clipping away parts of the font preview.
Fixes bug #142277.
2004-05-28 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainergridview.[ch]
* app/widgets/gimpcontainertreeview.[ch]: removed "reorderable"
from gimp_container_foo_view_new().
* app/widgets/gimpcontainereditor.[ch]: removed "reorderable" from
gimp_container_editor_construct(). Automatically set the view to
reorderable if the viewed container has no sort_func.
* app/widgets/gimpbufferview.c
* app/widgets/gimpdatafactoryview.c
* app/widgets/gimpdocumentview.c
* app/widgets/gimpimageview.c
* app/widgets/gimptemplateview.c
* app/widgets/gimptoolview.c
* app/widgets/gimpundoeditor.c: removed reoderable stuff because
GimpContainerEditor does this generically now.
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpfontview.c: set reorderable to FALSE because
they should not be reodered even if they don't have a sort_func.
* app/gui/font-select.c: removed reorderable stuff. Some cleanup.
* app/gui/brush-select.c
* app/gui/gradient-select.c
* app/gui/palette-select.c
* app/gui/pattern-select.c: same cleanups as in font-select.c
2004-05-27 Michael Natterer <mitch@gimp.org>
* app/paint/gimp-paint.c (gimp_paint_init): register ink between
airbrush and clone so the stroke dialog's menu of paint functions
has the same order as the default toolbox order.
2004-05-27 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-draw.c (gimp_display_shell_draw_grid):
fixed handling of grid offsets in the grid drawing routine.
2004-05-27 Michael Natterer <mitch@gimp.org>
* app/widgets/widgets-enums.[ch]: added enum GimpActiveColor which
can be one of { FOREGROUND, BACKGROUND },
* app/widgets/Makefile.am
* app/widgets/gimpfgbgeditor.[ch]: new widget implementing the
FG/BG/Swap/Default color area known from the toolbox.
* app/widgets/gimptoolbox-color-area.c: use the new widget.
* app/widgets/gimpcoloreditor.[ch]: replaced the FG/BG buttons and
the color area by a GimpFgBgEditor.
2004-05-27 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdocumentview.c (gimp_document_view_new):
gimp_editor_add_action_button() takes a va_list, terminate
it with NULL. Fixes bug #143258.
2004-05-26 Michael Natterer <mitch@gimp.org>
* app/paint/gimpink.c: restored old time/speed sensitivity
behaviour by doing nothing except figuring if we draw a straight
line in INIT_PAINT. Instead, do all the Blob creating in
MOTION_PAINT and special case the initial (null) "motion"
accordingly.
2004-05-26 Sven Neumann <sven@gimp.org>
* app/core/core-enums.[ch]: shorter names for the gradient types
to reduce the width of the blend tool options.
2004-05-26 Michael Natterer <mitch@gimp.org>
* app/paint/Makefile.am
* app/paint/gimpink-blob.[ch]
* app/paint/gimpink.[ch]
* app/paint/gimpinkoptions.[ch]: new files. Ported the ink tool
to be a direct GimpPaintCore subclass without any GUI.
* app/paint/gimp-paint.c: register GimpInk with the list of paint
cores.
* app/tools/Makefile.am
* app/tools/gimpinkoptions.[ch]
* app/tools/gimpinktool-blob.[ch]: removed these files.
* app/tools/gimpinkoptions-gui.[ch]: new files containing only
the GUI for GimpInkOptions.
* app/tools/gimpinktool.[ch]: reduced to some few lines which
implement a simple GimpPaintTool subclass.
* app/tools/gimp-tools.c: associate the GimpInk paint_core with
the GimpInkTool.
2004-05-26 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintcore-stroke.c: check if we really have
a GimpBrushCore before casting and accessing its members.
2004-05-26 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintcore.c: don't do special stuff if a virtual
function doesn't exist. Instead, added default implementations
which do the special stuff and call the virtual functions
unconditionally.
* app/tools/gimppainttool.c: some stylistic cleanup.
2004-05-26 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintcore.[ch] (gimp_paint_core_paste)
(gimp_paint_core_replace): replaced the "MaskBuf *paint_mask"
parameters by "PixelRegion *mask_bufPR", so subclasses can pass in
any kind of paint_mask buffer and are not restricted to MaskBufs.
Also removes implicit knowledge about the MaskBuf originating from
a brush in paint_mask_to_canvas_buf() and _to_canvas_tiles() which
don't need to offset the mask by width/2 height/2 any more.
Made gimp_paint_core_validate_undo_tiles() and
gimp_paint_core_validate_canvas_tiles() protected functions.
* app/paint/gimpbrushcore.c (gimp_brush_core_paste_canvas)
(gimp_brush_core_replace_canvas): create correctly positioned
PixelRegions from the MaskBufs before passing them to the
paint_core.
2004-05-26 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintcore.[ch]: removed "gdouble scale" parameter
and added "GimpPaintOptions" in GimpPaintCore::get_paint_area().
Check if virtual functions exist befoe calling them.
* app/paint/gimpbrushcore.[ch]: added "gdouble scale" to GimpBrushCore
and "gboolean use_scale" to GimpBrushCoreClass (defaults to TRUE).
Set scale from paint_options in GimpPaintCore::get_paint_area().
Removed "scale" parameter from gimp_brush_core_paste_canvas()
and _replace_canvas().
* app/paint/gimpsmudge.c (gimp_smudge_class_init): set use_scale
to FALSE.
* app/paint/gimpclone.c
* app/paint/gimpconvolve.c
* app/paint/gimpdodgeburn.c
* app/paint/gimperaser.c
* app/paint/gimppaintbrush.c: removed all scale calculations and
simply pass paint_options to GimpPaintCore::get_paint_area().
2004-05-26 Michael Natterer <mitch@gimp.org>
* app/tools/gimppainttool.c (gimp_paint_tool_button_press): check
if the GimpPaintCore really is a GimpBrushCore before catsting and
fiddling with internaly.
2004-05-25 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpitemtreeview.h: added GimpContext parameters
to GimpActivateItemFunc, GimpNewItemFunc and GimpEditItemFunc.
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpitemtreeview.c: pass the view's context to
the functions.
* app/actions/actions.c (action_data_get_context): return
gimp_get_user_context() if "data" is a Gimp.
* app/actions/channels-commands.[ch]
* app/actions/layers-commands.[ch]
* app/actions/vectors-commands.[ch]: added GimpContext parameters
to the resp. activate, new and edit functions and use the passed
context instead of gimp_get_user_context().
* app/actions/layers-commands.[ch]: removed the merge and flatten
callbacks.
* app/actions/image-commands.[ch]: made public layer merge utility
function private and cleaned the whole file up a lot.
* app/actions/layers-actions.c: use the callbacks from
image-commands.c for merge and flatten.
* app/actions/edit-commands.c
* app/actions/file-commands.c
* app/actions/select-commands.c: use action_data_get_context()
instead of gimp_get_user_context().
* app/actions/edit-actions.c: some cleanup.
2004-05-25 Michael Natterer <mitch@gimp.org>
* app/actions/file-actions.c
* app/actions/file-commands.[ch]: removed action "file-new", added
action "file-open-from-image".
* app/actions/image-actions.c
* app/actions/image-commands.[ch]: added actions "image-new" and
"image-new-from-image".
* menus/image-menu.xml.in: use the "-from-image" variants of
the "new" and "open" actions so the dialogs are preconfigured
from the image they were invoked from (regression fix).
* menus/toolbox-menu.xml.in: s/file-new/image-new/.
2004-05-24 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptoolbox.c (toolbox_create_tools): added an evil
hack as workaround for the missing gtk_action_get_accel_closure().
Re-enables accelerator display in the tool button labels.
2004-05-24 Michael Natterer <mitch@gimp.org>
* app/vectors/Makefile.am
* app/vectors/gimpcoordmath.[ch]: removed...
* app/core/Makefile.am
* app/core/gimpcoords.[ch]: ...and added without the "bezier"
namespace.
* app/vectors/gimpbezierstroke.c: changed accordingly.
* app/Makefile.am: force it to link gimpcoords.o
2004-05-24 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfigwriter.c
* app/core/gimpstrokeoptions.c
* app/widgets/gimpactiongroup.c
* app/widgets/gimpcolorframe.h
* app/widgets/gimpcolorpanel.h
* app/widgets/gimpcontainerview.[ch]
* app/widgets/gimptooldialog.h
* app/widgets/gimpuimanager.c
* app/widgets/widgets-types.h: fixed various small issues I
stumbled across when updating the API reference for app/.
2004-05-24 Sven Neumann <sven@gimp.org>
* app/core/gimptoolinfo.[ch]: derive GimpToolInfo from
GimpViewable, it doesn't make sense for it to be a GimpData.
* app/widgets/gimptooloptionseditor.c
(gimp_tool_options_editor_get_title): do not append " Options" to
the tool name. Fixes bug #142280.
2004-05-24 Michael Natterer <mitch@gimp.org>
Long overdue core container cleanup:
* app/core/gimplist.[ch]: added "unique-names" and "sort-func"
properties and merged the resp. code from GimpDataList into
GimpList. Removed "policy" parameters from gimp_list_new() and
added "unique_names". Added new constructor gimp_list_new_weak().
Made public function gimp_list_uniquefy_name() private.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpdatalist.[ch]: removed. Its functionality is
entirely in GimpList now.
* app/core/gimpdata.[ch]: added gimp_data_name_compare() which
used to live in GimpDataList.
* app/core/gimp.c
* app/core/gimpdatafactory.c
* app/core/gimpimage.c
* app/core/gimptoolinfo.c
* app/core/gimpundostack.c
* app/paint/gimp-paint.c
* app/tools/gimp-tools.c
* app/widgets/gimpdevices.c
* app/widgets/gimptemplateeditor.c
* app/widgets/gimpundoeditor.c: changed list creation accordingly.
Made gimp->templates, gimp->named_buffers, tool_info->presets and
the image's lists of layers, channels and vectors automatically
ensure unique names.
* app/widgets/gimptemplateview.c
* app/actions/file-commands.c
* app/actions/templates-commands.c
* app/actions/tool-options-commands.c: removed calls to
gimp_list_uniquefy_name().
* app/core/gimpitem.c: removed major insanity where the items
themselves where ensuring their unique names. Bah!
* app/core/gimplayer.c (gimp_layer_name_changed): chain up
conditionally.
* app/core/gimplayermask.c (gimp_layer_mask_name_changed): removed
because there is no need any more to keep the parent
implementation from being invoked.
2004-05-23 Michael Natterer <mitch@gimp.org>
* app/widgets/widgets-types.h: reoedered to somehow reflect the
class hierarchy.
Some dockable context handling cleanup:
* app/widgets/gimpdocked.[ch]: removed "prev_context" parameter
from GimpDocked::set_context(). Widgets which need the old context
to disconnect from should remember it themselves.
* app/widgets/gimpdockable.c (gimp_dockable_set_context): don't
pass the old context to gimp_docked_set_context().
Some cleanup.
* app/widgets/gimpcontainerbox.c
* app/widgets/gimpcontainereditor.c: changed accordingly.
* app/display/gimpnavigationview.[ch]
* app/widgets/gimpimageeditor.[ch]
* app/widgets/gimpitemtreeview.[ch]: added a "context" member
which holds the context set by GimpDocked::set_context().
* app/widgets/gimpdrawabletreeview.c: use the view's context
instead of gimp_get_user_context().
* app/widgets/gimpcoloreditor.[ch]: removed separate API to
set the context because it implements the GimpDockedInterface.
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimperrorconsole.c: pass "menu-factory",
"menu-identifier" and "ui-path" to g_object_new() instead of
calling gimp_editor_create_menu() later.
Action cleanup partly related to the context stuff above:
* app/actions/actions.c (action_data_get_gimp): get the Gimp from
context->gimp, not gimage->gimp because gimage may be NULL.
(action_data_get_context): changed to use the new context members
added above.
* app/actions/channels-actions.c (channels_actions_update): cleanup.
* app/actions/edit-actions.c (edit_actions_update): fixed
sensitivity of "edit-undo-clear".
* app/actions/vectors-actions.c (vectors_actions_update): make
"vectors-merge-visible" sensitive only if there is more than one
GimpVectors in the image.
* app/actions/colormap-editor-actions.c
* app/actions/gradient-editor-actions.c
* app/actions/palette-editor-actions.c: added FG/BG color previews
to actions which take colors from them. Changed code to be safe
against "context" being NULL.
* app/actions/drawable-commands.c:
s/active_drawable/drawable/g. Makes the code more readable.
* app/actions/select-commands.[ch]
* app/actions/vectors-commands.[ch]: removed public stroke utility
functions and other stuff which is not needed any more because
dialog buttons invoke the correct actions now. Moved the
functions' code to the resp. action callbacks.
2004-05-21 Sven Neumann <sven@gimp.org>
* app/paint/gimppaintcore.c (gimp_paint_core_interpolate): better
fix for bug #123811; patch provided by Philip Lafleur.
2004-05-21 Sven Neumann <sven@gimp.org>
* app/gui/preferences-dialog.c: added some GtkSizeGroups and
changed spacings to improve the dialog layout.
* app/gui/file-new-dialog.c
* app/widgets/gimpgrideditor.c
* app/widgets/gimptemplateeditor.c: minor changes for consistency.
2004-05-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimperrorconsole.c
(gimp_error_console_save_ext_clicked): use
gtk_widget_get_screen(), not window_get_screen() on a button.
2004-05-19 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpaction.[ch]: new GtkAction subclass which can
show either a color or viewable preview in GtkImageMenuItem
proxies.
* app/widgets/gimpenumaction.[ch]
* app/widgets/gimppluginaction.[ch]
* app/widgets/gimpstringaction.[ch]: derive them from GimpAction.
* app/widgets/gimpactiongroup.c (gimp_action_group_add_actions):
add GimpActions, not GtkActions.
(gimp_action_group_set_action_color)
(gimp_action_group_set_action_viewable): removed all hacks and
simply set the "color" or "viewable" properties of the GimpAction
to change. Fixes color/viewable previews in menus.
* app/actions/file-actions.c: show previews in the "Open Recent"
menu items.
Unrelated:
* app/widgets/widgets-types.h: removed GimpDockedInterface typedef...
* app/widgets/gimpdocked.h: ...and added it here. We don't have
class struct typedefs in the types header either.
* app/actions/edit-actions.c: added <Ctrl>+semicolon as shortcut
for "edit-fill-pattern".
* app/actions/gradient-editor-actions.c: added some stock IDs.
Please comment.
2004-05-19 Sven Neumann <sven@gimp.org>
* app/paint/gimppaintcore.c (gimp_paint_core_interpolate): make
sure that pressure never becomes negative. Fixes bug #123811;
thanks to Philip Lafleur for investigating this problem.
2004-05-18 Michael Natterer <mitch@gimp.org>
Allow plug-ins to register menu icons. Fixes bug #120500.
* app/core/core-enums.[ch]: added enum GimpIconType which can
be one of { STOCK_ID, IMAGE_FILE, INLINE_PIXBUF }.
* app/config/gimpconfigwriter.[ch] (gimp_config_writer_data)
* app/config/gimpscanner.[ch] (gimp_scanner_parse_data): new
functions which write/parse raw binary data. Needed for storing
inline pixbufs in pluginrc.
* app/config/gimpconfigwriter.[ch] (gimp_config_writer_identifier):
new function which writes out an unquoted and unescaped string.
* app/plug-in/plug-in-proc.[ch] (struct PlugInProcDef): added
new members "icon_type", "icon_data_length" and "icon_data".
Reordered members so file_proc specific stuff is at the end.
(plug_in_proc_def_get_stock_id)
(plug_in_proc_def_get_pixbuf): new functions to access the
procedure's icon.
* app/plug-in/plug-in-rc.c: save/restore the registered icons.
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c: set the action's stock ID from
the procedure's stock ID.
* app/widgets/gimppluginaction.c
(gimp_plug_in_action_connect_proxy): if the procedure provides a
pixbuf, set it as icon for the menu item.
* app/menus/file-dialog-menu.[ch]
* app/menus/file-open-menu.c
* app/menus/file-save-menu.c
* app/xcf/xcf.c: changed accordingly.
* tools/pdbgen/pdb/plug_in.pdb (plugin_icon_register): new PDB
function which can be called during query().
* tools/pdbgen/enums.pl
* app/pdb/internal_procs.c
* app/pdb/plug_in_cmds.c
* libgimp/gimpenums.h
* libgimp/gimpplugin_pdb.c
* libgimp/gimpplugin_pdb.h
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c: regenerated.
* plug-ins/common/plugindetails.c
* plug-ins/common/uniteditor.c
* plug-ins/print/print.c: register stock_id icons.
* plug-ins/common/screenshot.c: register an inline_pixbuf icon for
testing purposes (used emblem-camera.png from gnome-icon-theme).
* app/actions/dialogs-actions.c
* app/actions/file-actions.c: unrelated: added some more icons
to menu items.
2004-05-18 Michael Natterer <mitch@gimp.org>
* app/core/gimptoolinfo.c: made the "visible" property serializable.
* app/tools/gimp-tools.c: store the tools' order and visibility
in a new config file called "toolrc".
2004-05-18 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc.[ch] (plug_in_proc_def_get_label): new
function which returns a newly allocated string which is the menu
item's name stripped of mnemonics an ellipses.
* app/actions/plug-in-actions.c (plug_in_actions_update)
* app/plug-in/plug-in.c (plug_in_get_undo_desc): use the function
instead of implementing the same twice slightly different.
2004-05-17 Michael Natterer <mitch@gimp.org>
* menus/menus.xsl: put the image popup menu into a dummy menubar
to work around the silly GtkUIManager restriction that popup menus
can't have tearoff items.
* app/menus/menus.c
* app/menus/image-menu.c
* app/display/gimpdisplayshell-callbacks.c
* app/gui/gui-vtable.c
* app/menus/plug-in-menus.c: changed accordingly.
* app/gui/gui.c (gui_restore_after_callback): connect to
"notify::tearoff-menus" of GimpGuiConfig and reconfigure the
global image UI manager accordingly.
* app/config/gimpguiconfig.c: removed GIMP_PARAM_RESTART from the
"tearoff-menus" property because GtkUIManager can change this on
the fly.
* app/display/gimpdisplayshell.[ch]: added the menubar to the
GimpDisplayShell struct. Some cleanup in gimp_display_shell_new().
* app/display/gimpdisplayshell-appearance.c
(gimp_display_shell_set_show_menubar): use shell->menubar instead
of asking the UI manager.
* app/widgets/gimpuimanager.[ch]: changed gimp_ui_manager_ui_get()
to transparently load the XML files even if a sub-widget was
requested. Reordered parameters of gimp_ui_manager_ui_popup().
Lots of internal cleanups.
* app/widgets/gimpdockable.c
* app/widgets/gimptooloptionseditor.c: simplified accordingly.
* app/widgets/gimpeditor.[ch]: added new function
gimp_editor_popup_menu() which takes a GimpMenuPositionFunc and
updates/shows the editor's menu.
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c: use gimp_editor_popup_menu().
* app/widgets/gimptoolbox.c: moved all code from
gimp_toolbox_new() to GObject::constructor().
2004-05-17 Michael Natterer <mitch@gimp.org>
* app/actions/edit-actions.c (edit_actions_update): don't forget
to set the sensitivity of "edit-named-copy".
2004-05-17 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.c (gimp_image_init): initialize the image
unit to GIMP_UNIT_PIXEL.
* app/pdb/image_cmds.c
* tools/pdbgen/pdb/image.pdb: allow GIMP_UNIT_PIXEL to be used
in the gimp_image_set_unit() PDB call.
2004-05-15 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.c: fixed position of vertical line
indicating the picked color. Patch from William Skaggs and
Søren Wedel Nielsen; fixes bug #142506.
2004-05-15 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-params.c (plug_in_proc_args_check): changed
warnings to include the invalid menu path. Added check that makes
sure menu paths are either "<Prefix>" or "<Prefix>/foo" but *not*
"<Prefix>foo".
* app/actions/plug-in-actions.c: added function
plug_in_actions_check_translation() which validates both the
original and translated menu paths and spits detailed error
messages if any of them is broken. Made action creation simpler
(?) and more robust.
* app/menus/plug-in-menus.c: argh, the translated menu path must
be a sorting criteria *only*. Fixed the whole stuff to always use
the original menu path because translation is done entirely by
plug-in-actions.c. Fixes bad crashes for all locales. Added
boolean return value to plug_in_menus_build_path() and don't try
to create the menu item in an invalid location if creating the
submenus failed.
2004-05-14 Sven Neumann <sven@gimp.org>
* app/menus/file-dialog-menu.c: check if the file procedure
registered a menu path at all. The menu should probably be created
from the registered menu path, not from gimp->[load|save]_procs.
* app/plug-in/plug-in-proc.[ch]
* app/plug-in/plug-ins.c: removed broken code that used to sort
the file procedures.
* plug-ins/common/CEL.c
* plug-ins/common/bz2.c
* plug-ins/common/gz.c
* plug-ins/common/pcx.c
* plug-ins/common/pix.c
* plug-ins/common/sunras.c
* plug-ins/sgi/sgi.c
* plug-ins/xjt/xjt.c: register a mimetype, set a translatable
action name (mostly taken from shared-mime-info) and register to
the <Load> and <Save> menus using gimp_plugin_menu_register().
2004-05-14 Michael Natterer <mitch@gimp.org>
* app/actions/select-actions.c (select_actions_update): don't
make "select-invert" insensitive if there is no selection.
2004-05-14 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/fileops.pdb: added new PDB function
gimp_register_file_handler_mime() that allows to associate a MIME
type with a file procecdurre.
* app/pdb/fileops_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpfileops_pdb.[ch]: regenerated.
* app/plug-in/plug-in-proc.[ch]
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-ins.[ch]: store a mimetype with file procedures.
* app/actions/file-commands.c
* app/core/gimpdocumentlist.[ch]
* app/core/gimpimagefile.[ch]
* app/file/file-open.[ch]
* app/file/file-save.c: set the thumbnail's mimetype from the file
procedure used to load/save the image.
* app/xcf/xcf.c
* plug-ins/bmp/bmp.c
* plug-ins/common/csource.c
* plug-ins/common/dicom.c
* plug-ins/common/gif.c
* plug-ins/common/gifload.c
* plug-ins/common/jpeg.c
* plug-ins/common/mng.c
* plug-ins/common/png.c
* plug-ins/common/postscript.c
* plug-ins/common/psd.c
* plug-ins/common/psd_save.c
* plug-ins/common/sunras.c
* plug-ins/common/svg.c
* plug-ins/common/tga.c
* plug-ins/common/tiff.c
* plug-ins/common/wmf.c
* plug-ins/common/xbm.c
* plug-ins/common/xpm.c
* plug-ins/common/xwd.c
* plug-ins/faxg3/faxg3.c
* plug-ins/winicon/main.c: register a mimetype, set a translatable
action name (taken from shared-mime-info) and register to the <Load>
and <Save> menus using gimp_plugin_menu_register().
2004-05-13 Michael Natterer <mitch@gimp.org>
* menus/tool-options-menu.xml: added "name" attributes to all
submenus.
* app/menus/tool-options-menu.c: use the menu names instead of the
overly long action names.
* app/actions/colormap-editor-commands.c
* app/actions/tool-options-commands.c: added some callback
implementations.
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimptooloptionseditor.c: removed the callbacks here
and use action buttons.
* app/actions/actions.c
* app/actions/colormap-editor-actions.c
* app/actions/edit-actions.c: code review / cleanup.
2004-05-13 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontainer.c (gimp_container_add_handler): don't
try to lookup detailed "notify::foo" signal specs.
2004-05-13 Michael Natterer <mitch@gimp.org>
* app/actions/tools-actions.c (tools_actions_update): don't use
action_data_get_context() to update the "tools" action group
because it may return NULL. Use gimp_get_user_context() instead
because the active tool is global regardless of the action group's
context. Fixes accidential tool hiding when closing the last
display.
2004-05-13 Michael Natterer <mitch@gimp.org>
Added GimpViewable infrastructure which enables migrating from
TempBuf to GdkPixbuf for both providing and getting previews:
* app/core/gimpviewable.[ch]: added new virtual functions
GimpViewable::get_pixbuf() and GimpViewable::get_new_pixbuf()
which are implemented exactly as get_preview() and
get_new_preview() except that get_new_pixbuf() has a default
implementation which creates the pixbuf from a TempBuf.
Renamed public functions _get_preview_pixbuf() and
_get_new_preview_pixbuf() to _get_pixbuf() and _get_new_pixbuf().
Added gimp_viewable_get_dummy_pixbuf() and use it from
gimp_viewable_get_dummy_preview().
* app/core/gimpimagefile.c (gimp_imagefile_save_thumb)
* app/display/gimpdisplayshell.c (gimp_display_shell_update_icon)
* app/gui/resize-dialog.c (resize_dialog_new): changed accordingly.
2004-05-13 Michael Natterer <mitch@gimp.org>
* app/menus/Makefile.am: added file-menu.[ch] and
file-dialog-menu.[ch]
* app/menus/menus.[ch]: removed menus_open_recent_add()...
* app/menus/file-menu.[ch]: ...and added it here as file_menu_setup().
* app/menus/image-menu.c
* app/menus/toolbox-menu.c: changed accordingly.
* app/menus/file-dialog-menu.[ch]: added factored out code from the
file-open and file-save menus as file_dialog_menu_setup().
* app/menus/file-open-menu.c
* app/menus/file-save-menu.c: call file_dialog_menu_setup().
2004-05-12 Michael Natterer <mitch@gimp.org>
* app/actions/documents-actions.c
* app/actions/documents-commands.c
* app/actions/edit-actions.c
* app/actions/edit-commands.[ch]
* app/actions/layers-actions.c
* app/actions/layers-commands.c
* app/actions/select-actions.c
* app/actions/select-commands.[ch]
* app/actions/vectors-actions.c
* app/actions/vectors-commands.[ch]: added tooltips for actions
which are now used for dialog buttons, added callback
implementations which formerly lived in various widgets, moved
some actions around and did some general cleanups.
* menus/image-menu.xml.in: s/edit-stroke/select-stroke/
* menus/Makefile.am
* menus/selection-editor-menu.xml: new popup menu.
* app/menus/menus.c: register <SelectionEditor> and <UndoEditor>
UI managers.
* app/widgets/gimpeditor.[ch]: added construct properties
"menu-factory", "menu-identifier", "ui-path" and "popup-data".
Implement GObject::constructor() and create the UI manager
if all needed properties were set. Enables creating action
buttons at widget construction time because they need a
UI manager.
(gimp_editor_add_action_button): changed to take a va_list of
"extended" actions which are invoked if the resp. button emits
"extended_clicked". Store the actions and their modifier masks in
a list attached to the button.
* app/widgets/gimpcontainerview.c
(gimp_container_view_item_selected): if the view has container
*and* context, simply change the context and return.
(gimp_container_view_context_changed): don't emit "select_item"
manually but simply call gimp_container_view_select_item().
(gimp_container_view_viewable_dropped): use
gimp_container_view_item_selected() instead of changing the
context directly.
* app/widgets/gimpcontainereditor.c
(gimp_container_editor_select_item): update the UI manager.
* app/widgets/gimpdockable.c: don't try to fiddle with the
dialog's menu if it doesn't have a ui_path (happens if the UI
manager is just a collection of actions for the dialog buttons and
has no menu registered).
* app/widgets/gimpimageeditor.c: connect to the image's "flush"
signal and update the UI manager in the callback.
* app/widgets/gimpitemtreeview.c: use GimpEditor's construct
properties to create the UI manager so GimpItemTreeView subclasses
can have action buttons. Update the UI manager in
gimp_item_tree_view_select_item().
* app/widgets/gimpbufferview.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpdatafactoryview.c
* app/widgets/gimpfontview.c
* app/widgets/gimpimageview.c
* app/widgets/gimptemplateview.c
* app/widgets/gimptoolview.c: changed calls to
gimp_editor_add_action_button() accordingly and removed some
unneeded select_item() implementations.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpvectorstreeview.[ch]
* app/widgets/gimpdocumentview.[ch]
* app/widgets/gimplayertreeview.c
* app/widgets/gimpselectioneditor.[ch]
* app/widgets/gimpundoeditor.[ch]: use action buttons and removed
lots of callbacks which went to the resp. action callbacks.
* app/widgets/widgets-types.h: removed some now unneeded function
prototypes.
* app/gui/dialogs-constructors.c: changed (simplified) many dialog
constructors accordingly.
2004-05-11 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainercombobox.c: correctly get the default
GimpContainerViewInterface implementation and chain up to it for
clear_items(). Update the preview renderers on "update", enable
deselecting everything.
* app/widgets/gimpimagedock.[ch]
* app/gui/file-new-dialog.c
* app/gui/palette-import-dialog.c
* app/gui/preferences-dialog.c
* app/gui/stroke-dialog.c: use GimpContainerComboBox instead of
GimpContainerMenuImpl.
* app/gui/palette-import-dialog.c: cleanup.
2004-05-11 Sven Neumann <sven@gimp.org>
* app/gui/user-install-dialog.c: removed the "Aborting
Installation" page. We added it as a nice little gimmick but
obviously people don't understand it's purpose. Fixes bug #142281.
2004-05-11 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcontainercombobox.[ch]: added new widget, almost
finished.
* app/widgets/gimpcontainerview.[ch]: added convenience functions
to get and set the GimpContainerView properties.
* app/widgets/gimpcontainerbox.c: use the convenience functions.
* app/gui/file-new-dialog.c: use the new GimpContainerComboBox.
* etc/templaterc: use "pixels" as the unit for pixel sized templates.
2004-05-11 Michael Natterer <mitch@gimp.org>
* app/widgets/widgets-types.h
* app/widgets/gimpcontainerview.[ch]: made GimpContainerView an
interface. Added accessors for all members in the private struct
and made it really private.
* app/widgets/gimpcontainerbox.[ch]: derive it from GimpEditor and
implement GimpContainerViewInterface and its properties.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpcontainertreeview-dnd.c
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c: implement
GimpContainerViewInterface and use the new accessor functions.
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpdocumentview.c: changed accordingly.
* app/widgets/gimptemplateview.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpundoeditor.c
* app/actions/palettes-commands.c: #include "gimpcontainerview.h"
2004-05-10 Sven Neumann <sven@gimp.org>
* app/xcf/xcf-save.c (xcf_save_prop): fixed size of colormap
property. Patch by Daniel Kobras, fixes bug #142149.
2004-05-10 Sven Neumann <sven@gimp.org>
* app/tools/gimpmagnifyoptions.[ch]
* app/tools/gimpmagnifytool.c: applied a patch from William Skaggs
that changes a misleading option label. Fixes bug #137508.
2004-05-10 Sven Neumann <sven@gimp.org>
* app/config/gimpdisplayconfig.c (DEFAULT_IMAGE_TITLE_FORMAT):
removed the display scale from the default image title because
it's now displayed in the statusbar. Show the image pixel size
instead.
* app/gui/preferences-dialog.c: include a preset for the title
format string that shows the image size (bug #141720).
2004-05-10 Michael Natterer <mitch@gimp.org>
Prepare for making an interface out of GimpContainerView:
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcontainerbox.[ch]: new GimpContainerView
subclass which implements GimpDocked interface and contains the
vbox-with-scrolled-window stuff common to GimpContainerGridView
and GimpContainerTreeView.
* app/widgets/gimpcontainerview.[ch]: removed that functionality
here.
* app/widgets/gimpcontainergridview.[ch]
* app/widgets/gimpcontainertreeview.[ch]: derive them from
GimpContainerBox.
* app/gui/brush-select.c
* app/gui/font-select.c
* app/gui/gradient-select.c
* app/gui/palette-select.c
* app/gui/pattern-select.c
* app/widgets/gimpcontainerpopup.c: changed accordingly.
2004-05-10 Sven Neumann <sven@gimp.org>
* app/actions/view-actions.c: added a stock icon for "view-zoom-1-1".
* app/widgets/gimpunitcombobox.[ch]: added functions to get and
set the active unit.
* app/widgets/gimpunitstore.c (gimp_unit_store_tree_model_get_value):
need to special case GIMP_UNIT_PIXEL.
* app/display/Makefile.am
* app/display/display-types.h
* app/display/gimpscalecombobox.[ch]: new widget to be used in the
display's statusbar.
* app/display/gimpdisplayshell-cursor.[ch]: always display the
cursor position, not only if the cursor is inside the image. Added
new function gimp_display_shell_clear_cursor() to clear the cursor
label.
* app/display/gimpdisplayshell-callbacks.c: changed accordingly.
* app/display/gimpstatusbar.[ch]
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-scale.c: do not explicitely resize
the statusbar cursor label, connect to GimpDisplayShell::scaled
instead. Added a GimpScaleComboBox to the status bar.
2004-05-10 Michael Natterer <mitch@gimp.org>
Started making the toolbox configurable.
Addresses bug #105764. Not finished yet.
* app/core/gimptoolinfo.[ch]: renamed "in_toolbox" to "visible"
and made it a GObject property.
* app/tools/gimp-tools.[ch]: added new function
gimp_tools_get_default_order() which returns a GList of tool
identifiers.
* app/actions/tools-actions.c
* app/actions/tools-commands.[ch]: added actions & callbacks for
toggling the "visible" boolean and for resetting all tools.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimptoolview.[ch]: new widget which allows to
toggle a tool's visibility and to reorder the tools.
* app/widgets/gimptoolbox.[ch]: removed member "GtkWidget *trash"
and pack all tool buttons into the same wrap box. Connect to
"reoder" of the tool container and to "notify::visible" of all
tool infos and update the toolbox accordingly.
* app/gui/dialogs-constructors.c: create a GimpToolView for the
tools list/grid.
* app/menus/menus.c: register a <Tools> menu for the dialog above.
* menus/Makefile.am
* menus/tools-menu.xml: added the menu.
2004-05-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpuimanager.c: re-added help for menu items. Still
incomplete because there is no fallback help ID yet when pressing
F1 over a menu item which has a submenu. Added evil workaround and
version check for signal brokenness of GtkUIManager in GTK+ 2.4.1.
2004-05-08 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_resize_cursor):
added 1 pixel horizontal padding around the label.
2004-05-08 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.[ch]: renamed struct member combo to
unit_combo. Place the combobox into the cursor frame.
2004-05-08 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpunitcombobox.[ch]
* app/widgets/gimpunitstore.[ch]: added a prototype of a unit menu
based on GtkComboBox. Will move this to libgimpwidgets later...
* app/display/gimpstatusbar.[ch]: use the new GimpUnitComboBox and
GimpUnitStore.
* themes/Default/gtkrc
* themes/Small/gtkrc: hardcode the appearance of the
GimpUnitComboBox. It uses a hack that doesn't work in list mode.
2004-05-07 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-colormap.[ch]: added a const qualifier.
Changed how the image unit and dot-for-dot mode is handled. Might
break things and certainly needs more changes (mainly in tools):
* app/core/gimptemplate.c: allow GIMP_UNIT_PIXEL as image unit.
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpstatusbar.c: always use the image unit for the
rulers and to display lengths.
* app/widgets/gimptemplateeditor.c: redone GimpTemplateEditor
based on a dialog mockup from Jimmac and Tigert.
* app/core/core-enums.[ch]: changed some descriptions used by the
template editor.
2004-05-07 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc.[ch]: removed member "accelerator".
It was never set and this is the conceptually wrong place to store
it anyway.
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c
* app/plug-in/plug-in-message.c
* app/xcf/xcf.c: changed accordingly.
* tools/pdbgen/pdb/plug_in.pdb (plugins_query): always return NULL
as accelerator. Cleaned up the function a bit and made it aware of
proc_def->menu_label added below.
* app/pdb/plug_in_cmds.c: regenerated.
2004-05-07 Michael Natterer <mitch@gimp.org>
Changed plug-in menu registration again to allow passing just the
menu item's label (not the full path) in gimp_install_procedure()
and only the path (excluding the item's label) in
gimp_plugin_menu_register(). Matches the internal action system
better and makes translating the menu paths much easier.
(Of yourse it's still possible to use the old syntax for backward
compatibility).
* app/plug-in/plug-in-proc.[ch]: added "gchar *menu_label".
* app/plug-in/plug-in-params.[ch]: added new functions
plug_in_param_defs_check() and plug_in_proc_args_check() which
check if a procedure's parameters match its menu location
(e.g. <Image> needs RUN-MODE, IMAGE, DRAWABLE).
* app/plug-in/plug-in-message.c (plug_in_handle_proc_install): if
registering an old-style (full) menu_path, use
plug_in_param_defs_check(), set proc_def->menu_label otherwise.
* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_register): use
plug_in_proc_args_check() on the passed menu_path and make sugre
old and new style menu registration are not mixed.
* app/pdb/plug_in_cmds.c: regenerated.
* app/plug-in/plug-in-rc.c: save/restore "menu_label".
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c
* app/menus/plug-in-menus.c: changed action/menu creation
accordingly. Some hacks needed to allow both old and new style
menu_label/menu_paths.
* app/plug-in/plug-in.c
* app/widgets/gimpfiledialog.c
* app/xcf/xcf.c: changed accordingly.
* plug-ins/common/align_layers.c
* plug-ins/common/animationplay.c
* plug-ins/common/animoptimize.c
* plug-ins/common/apply_lens.c
* plug-ins/common/autocrop.c
* plug-ins/common/autostretch_hsv.c
* plug-ins/common/blinds.c
* plug-ins/common/blur.c
* plug-ins/common/borderaverage.c
* plug-ins/common/bumpmap.c
* plug-ins/common/c_astretch.c
* plug-ins/common/ccanalyze.c
* plug-ins/common/channel_mixer.c
* plug-ins/common/checkerboard.c
* plug-ins/common/color_enhance.c
* plug-ins/common/colorify.c
* plug-ins/common/colortoalpha.c
* plug-ins/common/compose.c
* plug-ins/common/convmatrix.c
* plug-ins/common/cubism.c
* plug-ins/common/curve_bend.c
* plug-ins/common/decompose.c
* plug-ins/common/deinterlace.c
* plug-ins/common/depthmerge.c
* plug-ins/common/destripe.c
* plug-ins/common/diffraction.c
* plug-ins/common/displace.c
* plug-ins/common/edge.c
* plug-ins/common/emboss.c
* plug-ins/common/engrave.c
* plug-ins/common/exchange.c
* plug-ins/common/film.c
* plug-ins/common/flarefx.c
* plug-ins/common/fractaltrace.c
* plug-ins/common/screenshot.c: ported the first few plug-ins
to the new registration scheme.
2004-05-06 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-preview.c
* app/core/gimpimage-projection.c: added sanity so we don't just
plain crash when an indexed image doesn't have a colormap.
* plug-ins/common/png.c: keep at least one entry in the colormap.
Fixes bug #142029.
2004-05-06 Sven Neumann <sven@gimp.org>
* app/gui/about-dialog.c: center the about dialog on the monitor,
not on the screen. Fixes window position on xinerama setups.
2004-05-06 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/plug_in.pdb: renamed gimp_plugin_menu_add() to
gimp_plugin_menu_register() for consistency with other
gimp_plugin_foo_register() functions which can be called during
query().
* app/pdb/plug_in_cmds.c
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* plug-ins/common/ccanalyze.c
* plug-ins/common/colortoalpha.c
* plug-ins/common/screenshot.c
* plug-ins/winsnap/winsnap.c: changed accordingly.
2004-05-06 Michael Natterer <mitch@gimp.org>
Enabled multiple menu entries per plug-in procedure:
* app/plug-in/plug-in-proc.[ch]: changed "gchar *menu_path" to
"GList *menu_paths".
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-in.c
* app/plug-in/plug-ins.c
* app/menus/menus.c
* app/widgets/gimpfiledialog.c
* app/xcf/xcf.c: changed accordingly.
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c: create an action for the first
element of proc_def->menu_paths.
* app/gui/gui-vtable.c
* app/menus/plug-in-menus.[ch]: create proxy widgets for each
element of proc_def->menu_paths.
* tools/pdbgen/pdb/plug_in.pdb: added new function
gimp_plugin_menu_add() which can be called during query() and adds
a menu path to a procedure registered by the calling plugin.
* app/pdb/internal_procs.c
* app/pdb/plug_in_cmds.c
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* menus/image-menu.xml.in
* menus/toolbox-menu.xml.in: added lots of <placeholder>s for
logical groups (like Image/Resize, Image/Scale, Image/Crop
etc.). Added empty placeholder File/Send for stuff like print and
mail. Added an "Acquire" menu under <Image>/File
* plug-ins/common/mail.c
* plug-ins/print/print.c
* plug-ins/common/winprint.c: register under File/Send.
* plug-ins/common/screenshot.c
* plug-ins/winsnap/winsnap.c: also register under
<Image>/File/Acquire.
* plug-ins/common/autocrop.c
* plug-ins/common/ccanalyze.c
* plug-ins/common/colortoalpha.c
* plug-ins/common/threshold_alpha.c
* plug-ins/common/zealouscrop.c: register additional menu entries
under placeholders in the "Image" and "Layer" menus. This is not
meant to be final but just a hint to keep in mind when
reorganizing the plug-in menus.
2004-05-06 Sven Neumann <sven@gimp.org>
* app/gui/resize-dialog.[ch]: cleaned up variable names and
external API. Still quite a mess.
* app/Makefile.am
* app/actions/image-commands.c
* app/actions/layers-commands.c: changed accordingly.
2004-05-05 Sven Neumann <sven@gimp.org>
* app/gui/file-new-dialog.c: use a normal GimpDialog instead of a
GimpViewableDialog that never has a viewable set.
2004-05-05 Michael Natterer <mitch@gimp.org>
* app/gui/brush-select.[ch] (brush_select_new): reordered parameters
so the first four are the same for all foo_select_new() functions.
* tools/pdbgen/pdb/brush_select.pdb: changed accordingly.
* app/pdb/brush_select_cmds.c: regenerated.
* app/gui/font-select.c (font_select_new): set the vbox'
border width to 6 to match the other foo_select dialogs.
2004-05-05 Michael Natterer <mitch@gimp.org>
* app/actions/plug-in-actions.c (plug_in_actions_add_proc): fixed
bug which would have leaked broken menu translations.
* app/gui/plug-in-menus.c: removed useless #includes.
2004-05-05 Michael Natterer <mitch@gimp.org>
* app/actions/file-actions.c
* app/actions/file-commands.[ch]: remove "file-close" action and
callback...
* app/actions/view-actions.c
* app/actions/view-commands.[ch]: ...and added it here as
"view-close" because that's what it does.
* app/actions/qmask-actions.c
* app/actions/qmask-commands.c: s/QMask/QuickMask/g
* app/gui/menus.c: add the "channels" action group to the <Image>
and <Dock> UI managers, renamed UI manager <Dialogs> to
<Dockable>.
* app/widgets/gimpdockbook.c: s/<Dialogs>/<Dockable>/.
* menus/image-menu.xml.in: s/file-close/view-close/, added
separators at the end of most menus, moved the bottom group of the
"View" menu after the zoom group.
2004-05-05 Michael Natterer <mitch@gimp.org>
* app/actions/select-actions.c: removed action "select-by-color".
* app/tools/gimpbycolorselecttool.c: add the shortcut here.
* app/actions/tools-actions.c: added alternative tool actions for
"by-color-select" and "rotate" which are identical to the ones
generated from the GimpToolInfo except for their label. Make sure
they have the same accelerators as the generated ones.
* menus/image-menu.xml.in: use the alternative actions for
"<Image>/Select/By Color" and
"<Layer>/Transform/Arbitrary Rotation...".
2004-05-05 Michael Natterer <mitch@gimp.org>
Finally enable global accelerators in all docks:
* app/widgets/gimpimagedock.c (gimp_image_dock_constructor):
iterate all of the UI manager's actions and enable their
accelerators manually. Fixes bug #119878.
2004-05-05 Sven Neumann <sven@gimp.org>
* app/widgets/gimpviewabledialog.c: added construct properties to
make it possible to derive from GimpViewableDialog.
* app/widgets/gimptooldialog.[ch]: make GimpToolDialog a real
object, not just a convenience constructor.
* themes/Default/gtkrc
* themes/Small/gtkrc: set a smaller border_width of 6 pixels for
the action area of tool dialogs.
* app/tools/gimpcolorpickertool.c
* app/tools/gimpimagemaptool.c: set a smaller border_width of 6
pixels on tool dialogs to make them more compact.
2004-05-05 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpoffsetarea.[ch]: added new function
gimp_offset_area_set_pixbuf(). Started to clean up the
code a bit.
* app/gui/resize-dialog.c (resize_widget_new): use the new feature
and set a preview of the image. Fixes bug #78733.
2004-05-04 Michael Natterer <mitch@gimp.org>
* app/gui/menus.c: register a <Dock> UI manager which has all
action groups <Image> has except "view".
* app/widgets/gimpimagedock.[ch]: re-enabled the global shortcuts,
using UI manager instead of item factory. Unfortunately actions
without proxy widgets can't be activated so this change is pretty
useless. Oh well, will find a hack to work around this later...
2004-05-04 Sven Neumann <sven@gimp.org>
* app/tools/gimpblendoptions.c
* app/tools/gimpbucketfilloptions.c
* app/tools/gimpcoloroptions.c
* app/tools/gimpinkoptions.c
* app/tools/gimppaintoptions-gui.c
* app/tools/gimpselectionoptions.c
* app/tools/gimptooloptions-gui.c
* app/tools/gimptransformoptions.c: use GimpFrames where GtkFrame
was used. Put "Pressure Sensitivity" frame into a GtkExpander.
2004-05-04 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpfiledialog.c: removed debugging output, added
#warning about runtime version check that can be removed as soon
as we depend on GTK+ 2.4.1.
2004-05-04 Michael Natterer <mitch@gimp.org>
* app/actions/file-dialog-actions.c (file_dialog_actions_setup):
don't forget to set the action's accelerator.
2004-05-04 Sven Neumann <sven@gimp.org>
* app/gui/preferences-dialog.c
* app/widgets/widgets-enums.[ch]
* app/widgets/gimpwidgets-utils.c (gimp_window_set_hint): added
new window hint "keep-above" to force toolbox and/or dock windows
to be kept above (if the WM supports this hint). Fixes bug #131672.
2004-05-04 Michael Natterer <mitch@gimp.org>
Fix bug #141719:
* app/tools/gimpmovetool.c (gimp_move_tool_motion): use RINT()
instead of ROUND() to round double coords to guide positions.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): pass RINT()-rounded
coords to gimp_display_shell_update_cursor() instead of implicitly
truncating by casting to int.
2004-05-04 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpundoeditor.c: removed code duplication by adding
utility function gimp_undo_editor_update_buttons(), some general
cleanups.
2004-05-04 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.c (gimp_image_undo_freeze,thaw): emit the
"undo-freeze" and "undo-thaw" signals only on the first freeze and
last thaw, not on any of them.
* app/widgets/gimphelp-ids.h: added GIMP_HELP_EDIT_UNDO_CLEAR.
* app/widgets/gimpundoeditor.[ch]: added a "Clear Undo History"
button. Fixes bug #136300.
Also don't attach to the image's undo stack if the image's undo is
disabled and set the buttons' sensitivity accordingly. Should fix
all kinds of unpredictable undo history brokenness.