2006-09-09 Michael Natterer <mitch@gimp.org>
* app/paint/gimpclone.c (gimp_clone_line_image): changed src_pickable
parameter to src_type.
(gimp_clone_motion): allow the passed srcPR to have alpha even if
the source pickable is flat. Pass the correct GimpImageType to
gimp_clone_line_image().
2006-09-09 Sven Neumann <sven@gimp.org>
* app/app_procs.[ch]
* app/main.c: initialize the error subsystem after the gimp
object
has been created.
* app/errors.[ch]: store a reference to the gimp object (eek)
and
use it to call gimp_gui_ungrab() before g_on_error_query().
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: added gimp_gui_ungrab().
2006-09-08 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c: use coordinates from
the current device when starting to scroll. Grab the keyboard
and
pointer when panning with the space bar.
2006-09-08 Michael Natterer <mitch@gimp.org>
* app/paint/gimpperspectiveclone.c (gimp_perspective_clone_motion):
must not clamp the paint area against the boundary of the
src_tiles. Various small cleanups.
* app/paint/gimpsourcecore.[ch] (GimpSourceCore::motion): removed
src_image parameter.
Added new virtual function GimpSourceCore::get_source() and moved
the source PR initialization code to its default implementation.
(GimpPerspectiveClone will override this method later).
* app/paint/gimpclone.c (gimp_clone_motion)
* app/paint/gimpheal.c (gimp_heal_motion): changed accordingly.
2006-09-08 Sven Neumann <sven@gimp.org>
* app/config/gimpdisplayconfig.[ch]
* app/config/gimprc-blurbs.h
* app/display/display-enums.[ch]: added new gimprc option
"space-bar-action" and default to "pan". Will add a GUI for this later.
* app/display/gimpdisplayshell-callbacks.c: respect the new option
and either pan the display or push the move tool. Fixes bug #349903.
2006-09-08 Sven Neumann <sven@gimp.org>
* app/core/gimp.[ch]: added function gimp_get_tool_info().
* app/actions/tools-commands.c
* app/actions/vectors-commands.c
* app/tools/gimppainttool.c
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimptoolbox.c: use the new function instead of poking
into gimp->tool_info_list.
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.[ch]: moved code that deals with
the space key into separate functions. Added space_shaded_tool
to GimpDisplayShell instead of using a static variable for it.
* app/tools/tool_manager.c: removed unused include.
2006-09-08 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-utils.c: mark "Space" and "Backslash"
for translation (using the same translation context as in GTK+).
2006-09-08 Michael Natterer <mitch@gimp.org>
* app/tools/gimpperspectiveclonetool.c
(gimp_perspective_clone_tool_register): fix the tool's menu path
and accelerator.
2006-09-07 Michael Natterer <mitch@gimp.org>
Merged the "soc-2006-perspective-clone" branch. That branch is
now officially closed and all further fixes and changes have to
be applied to HEAD.
Did some minor adjustments, mostly small indentation and spacing
fixes. Derive the tool from GimpBrushTool and renamed the enum
added to paint-enums.h and it values, added stock icon and menu
entry.
Thanks a lot to Pedro Alonso Ferrer!
* app/paint/paint-enums.[ch]: new enum GimpPerspectiveCloneMode.
* app/paint/Makefile.am
* app/paint/gimpperspectiveclone.[ch]
* app/paint/gimpperspectivecloneoptions.[ch]: the perspective
clone core and its options.
* app/paint/gimp-paint.c: register it.
* app/tools/Makefile.am
* app/tools/gimpperspectiveclonetool.[ch]: the perspective clone tool.
* app/tools/gimp-tools.c: register it.
* app/tools/gimppaintoptions-gui.c: show the widgets that are used
by perspective clone.
* app/widgets/gimphelp-ids.h: the help ID.
* themes/Default/images/Makefile.am
* themes/Default/images/tools/stock-tool-perspective-clone-16.png
* themes/Default/images/tools/stock-tool-perspective-clone-22.png
* libgimpwidgets/gimpstock.[ch]: its stock ID and icons.
* menus/image-menu.xml.in: added it to the menu.
2006-09-07 Sven Neumann <sven@gimp.org>
* app/base/pixel-region.[ch]
* app/base/tile-manager.[ch]
* app/base/tile-swap.[ch]: removed code that tried to swap in
tiles asynchronously (but ended up calling up nothing).
2006-09-07 Sven Neumann <sven@gimp.org>
* app/base/tile-cache.c
* app/base/tile-manager.c
* app/base/tile-private.h
* app/base/tile.c: removed tile locking macros that were only used
for the threaded tile swapper.
2006-09-07 Michael Natterer <mitch@gimp.org>
* app/paint/gimpsourcecore.[ch] (gimp_source_core_motion): pass
the src_offset_x and src_offset_y as separate parameters to
GimpSourceCore::motion().
* app/paint/gimpheal.c (gimp_heal_motion): changed accordingly.
* app/paint/gimpclone.c (gimp_clone_motion): ditto and use the new
values for pattern cloning instead of asuming stuff that relies on
knowledge of gimp_source_core_motion()'s internals.
2006-09-07 Sven Neumann <sven@gimp.org>
* configure.in: removed --enable_threaded_tile_swapper option.
* app/base/tile-cache.c
* app/base/tile-private.h
* app/base/tile-swap.c
* app/base/tile.c: removed threaded tile swapper code which has
been sitting here unused for too long.
2006-09-07 Michael Natterer <mitch@gimp.org>
* app/paint/gimpsourcecore.[ch] (gimp_source_core_motion): pass
the width and height of the sub-area of paint_area to
GimpSourceCore::motion().
* app/paint/gimpclone.c (gimp_clone_motion)
* app/paint/gimpheal.c (gimp_heal_motion): use the new parameters
instead of taking these values from srcPR->w and ->h, which was
very confusing.
* app/tools/tools-enums.[ch]: add GimpRectangleConstraint
enum.
* app/tools/gimprectangletool.[ch]: replace "constrain"
boolean with "constraint" enum property. Implement
constraints in motion handler -- the implementation
is rather elegant but pretty tricky.
* app/tools/gimpcroptool.c: constrain to image bounds,
or to active drawable bounds if "current layer only"
option is checked.
* app/tools/gimpellipseselecttool.c
* app/tools/gimprectangleselecttool.c: no constraint.
This addresses bug #353936 -- I would say fixes it, but it
probably needs some fine-tuning. Also perhaps fixes
bug #329817 a bit better than before.
2006-09-06 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginmanager-history.c
(gimp_plug_in_manager_history_add): bail out early if the
procedure is already at the start of the list.
2006-09-06 Sven Neumann <sven@gimp.org>
* app/actions/plug-in-commands.c (plug_in_run_cmd_callback)
(plug_in_repeat_cmd_callback): also add the procedure to the
history if it is called from the "Repeat" or "Re-Show" menus.
* plug-ins/common/vpropagate.c: changed progress text.
2006-09-05 Sven Neumann <sven@gimp.org>
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimphintbox.[ch]: added simple widget to
display
a user hint. Having this as a widget will allow us to change the
look, perhaps even using style properties.
* libgimpwidgets/gimpwidgets.def: added the new symbols.
* app/dialogs/keyboard-shortcuts-dialog.c
* plug-ins/common/colormap-remap.c
* plug-ins/common/redeye.c: use the new widget instead of
duplicating the code.
2006-09-05 Michael Natterer <mitch@gimp.org>
* app/actions/debug-actions.c
* app/actions/debug-commands.[ch]
* menus/toolbox-menu.xml.in: added "Dump Attached Data" menu item
which prints the stuff that is attached to the gimp and
user_context objects.
2006-09-05 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.[ch]: added gimp_tool_get_options() so tools
don't need to incude "core/gimptoolinfo.h" just to get to
their options.
* app/tools/gimp*tool.h: added macros GIMP_FOO_TOOL_GET_OPTIONS()
which return specific tool options types and do all casting
themselves.
* app/tools/*.c: use the new macros and don't include
"core/gimptoolinfo.h" in most files.
* app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_register):
make it use the parent context's FG and BG.
* app/tools/gimpcolortool.c (gimp_color_tool_real_picked): set the
color on the tool's options, not on the user context.
2006-09-05 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginmanager.c (gimp_plug_in_manager_restore):
sort the load and save procedures after adding them to the
database, otherwise there is nothing to sort.
2006-09-05 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-selection.c: switch from a short
timeout to an idle handler for starting the animation.
2006-09-05 Michael Natterer <mitch@gimp.org>
* app/paint/gimpheal.c (gimp_heal_motion): corrected origPR
extents calculation. Makes the tool work at image borders
where it used to warn.
(gimp_heal_laplace_iteration)
(gimp_heal_region): minor coding style stuff.
2006-09-05 Michael Natterer <mitch@gimp.org>
* app/paint/gimpsourcecore.[ch] (gimp_source_core_motion): do a
lot of stuff that was duplicated in clone and heal. Added lots of
parameters to GimpSourceCore::motion() to get the stuff down to
clone and heal.
* app/paint/gimpclone.c (gimp_clone_motion): changed accordingly.
* app/paint/gimpheal.c (gimp_heal_motion): ditto. Made it work for
dest_drawable != src_pickable. Always add alpha to all buffers and
convert the source buffer to the dest drawable's color space
because the algorithm works only on buffers of same depth.
2006-09-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-selection.c: more code cleanup.
Monitor the shell's window visibility and don't run the timeout
if
the shell is fully obscured.
2006-09-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-selection.c: more code cleanup.
Monitor the shell's window state and don't run the timeout if
the
shell is withdrawn or iconified.
2006-09-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-selection.c: code cleanup. Only
use
a timeout if there is actually a selection and if it is not
hidden.
2006-09-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-selection.[ch]: some cleanup.
Made
the Selection struct private and removed unused state member.
Removed redundant parameter from
gimp_display_shell_selection_start().
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.c: changed accordingly.
2006-09-04 Michael Natterer <mitch@gimp.org>
* app/paint/paint-enums.[ch]: removed enum GimpHealAlignMode, we
use the GimpSourceAlignMode now and can always disable REGISTERED
in the GUI should it turn out to be really totally pointless.
* app/paint/Makefile.am
* app/paint/gimphealoptions.[ch]: removed. Its properties are
completely covered by GimpSourceOptions.
* app/paint/gimpheal.[ch]: derive from GimpSourceCore.
* app/tools/gimphealtool.[ch]: derive from GimpSourceTool.
2006-09-04 Michael Natterer <mitch@gimp.org>
* app/tools/Makefile.am
* app/tools/gimpsourcetool.[ch]: new class which is essentially a
copy of GimpCloneTool with s/clone/source/ plus some minor
modifications.
* app/tools/gimpclonetool.[ch]: remove almost everything and
derive from GimpSourceTool.
2006-09-03 Michael Natterer <mitch@gimp.org>
* app/dialogs/palette-import-dialog.[ch]: removed
palette_inport_dialog_show() and palette_import_dialog_destroy()
and don't remember the created dialog internally. Instead, made
palette_import_dialog_new() public.
* app/dialogs/dialogs.c
* app/dialogs/dialogs-constructors.[ch]: register it with the
toplevel dialog factory as singleton toplevel.
* app/actions/palettes-commands.c (palettes_import_cmd_callback):
use the dialog factory to create the palette import dialog.
2006-09-03 Michael Natterer <mitch@gimp.org>
* app/paint/gimpsourceoptions.[ch] (struct GimpSourceOptions): added
non-property boolean member "use_source" which defalts to TRUE.
* app/paint/gimpcloneoptions.c: imeplement GObject::notify() and
set source_options->use_source to TRUE if the clone type is
GIMP_IMAGE_CLONE.
* app/paint/gimpsourcecore.h: removed bogus
gimp_source_core_register() prototype.