2004-06-29 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdnd.c: use gtk_target_list_add() instead of
gtk_target_list_add_table() because the latter prepends the
targets to the internal list which screws the order (== priority)
of DND targets.
* app/widgets/gimpselectiondata.c: added some more checks for
failed drops (selection_data->length < 0).
2004-06-29 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: added new function
gimp_get_mod_string() which takes a GdkModifierType and returns
correctly formated strings for all shift,control,alt combinations.
* app/tools/gimpbucketfilloptions.c
* app/tools/gimpcolorpickeroptions.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcropoptions.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimperasertool.c
* app/tools/gimpflipoptions.c
* app/tools/gimpmagnifyoptions.c
* app/tools/gimpmoveoptions.c
* app/tools/gimptransformoptions.c
* app/tools/gimpvectoroptions.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpdocumentview.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpthumbbox.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimpvectorstreeview.c: use the new function instead
of gimp_get_mod_name_shift(),control(),alt(),separator(). This
kindof addresses the issue of configurable modifier keys but is
actually indended to ease translation of format strings ("%s" is
easier to get right than "%s%s%s").
2004-06-28 Michael Natterer <mitch@gimp.org>
Allow all sorts of things to be dropped on or in between the
items of a GimpContainerTreeView:
* app/widgets/gimpcontainertreeview.[ch]: added more parameters to
GimpContainerTreeView::drop_possible() to specify where ecactly
the drop should take place (between or into items) and to support
dropping all sorts of things.
Renamed ::drop() to ::drop_viewable() and added ::drop_color(),
::drop_files() and ::drop_svg(), which cover all possible drop
types.
* app/widgets/gimpcontainertreeview-dnd.[ch]: changed accordingly.
Dispatch all kinds of drops to the resp. virtual functions.
* app/widgets/gimpitemtreeview.c: changed accordingly.
* app/widgets/gimplayertreeview.c: allow to drop URIs, colors
and patterns to the layers dialog. Fixes bugs #119506 and #139246.
2004-06-28 Michael Natterer <mitch@gimp.org>
* app/file/file-open.[ch] (file_open_layer): new utility function
which opens an image, flattens it if needed and returns the only
layer, converted for a passed destination image.
* app/display/gimpdisplayshell-dnd.c
(gimp_display_shell_drop_files): use the new function.
2004-06-28 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/gimpselectiondata.[ch]: new files containing the
code which encodes/decodes all sorts of stuff to/from its
GtkSelectionData representation. Used to live in gimpdnd.c
* app/widgets/gimpdnd.c: use the new functions (unclutters the
file quite a bit), converted tabs to spaces.
2004-06-28 Michael Natterer <mitch@gimp.org>
Fixed bug #141930 while keeping bug #132322 fixed:
* app/base/curves.c (curves_lut_func)
* app/base/levels.c (levels_lut_func): changed meaning of channel
slots for GRAYA images: just as for GRAY images, expect the value
channel in slot 0 and the alpha channel in slot 1, so it matches
the meaning of slots of GimpHistogram (before this change, only
GRAY images had their value in slot 0 and GRAYA images had it in
slot 1, whereas the histogram had the value channel in slot 0,
which was breaking auto levels for GRAYA images).
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* tools/pdbgen/pdb/color.pdb: adjusted channel fiddling for GRAY
and GRAYA images accordingly.
* app/tools/gimpcurvestool.c (curves_update)
* app/tools/gimplevelstool.c (levels_update): call
gimp_color_bar_set_buffers() with the right buffers.
* app/pdb/color_cmds.c: regenerated.
2004-06-28 Sven Neumann <sven@gimp.org>
* app/gui/gui.c (gui_initialize_after_callback): select the
standard tool.
* app/tools/tool_manager.c: cosmetics.
2004-06-28 Michael Natterer <mitch@gimp.org>
* app/tools/gimplevelstool.c: reverted fix for bug #141930. These
hacks are there because the enum used in levels doesn't match
the enum used by the combo box and the histogram widget.
2004-06-28 Michael Natterer <mitch@gimp.org>
* app/tools/gimpclonetool.c (gimp_clone_tool_button_release):
removed again (tools must not draw outside GimpDrawTool::draw()).
(gimp_clone_tool_draw): removed check for gimp_draw_tool_is_active()
because the draw function would not be called if the draw tool was
inactive. Simplified check for whether or not to draw the src
location.
* app/tools/gimppainttool.c (gimp_paint_tool_button_release):
pause/resume the draw tool across all button_release actions so
tools (clone) have a chance to draw different things depending on
gimp_tool_control_is_active(tool->control). Fixes bug #145022.
2004-06-28 Sven Neumann <sven@gimp.org>
* plug-ins/common/dog.c: applied HIG rules to the GUI and slightly
rearranged it to get a more compact layout. Applied GIMP coding style.
2004-06-28 Sven Neumann <sven@gimp.org>
* plug-ins/common/dog.c (dog): ifdef'ed out calls to
_gimp_tile_cache_flush_drawable() since it can't be used from a
plug-in. Removed trailing whitespace and redundant includes.
* libgimp/gimp.def: removed _gimp_tile_cache_flush_drawable again.
2004-06-27 Michael Schumacher <schumaml@cvs.gnome.org>
* libgimp/gimp.def: added _gimp_tile_cache_flush_drawable because
it is used in a plug-in. See bug 145051.
2004-06-26 Philip Lafleur <plafleur@cvs.gnome.org>
* plug-ins/common/unsharp.c: Preview now works correctly with
RGBA and grayscale-alpha images. Fixes bug #144971.
2004-06-26 Philip Lafleur <plafleur@cvs.gnome.org>
* plug-ins/common/unsharp.c: Use GTK_PREVIEW_GRAYSCALE if source
is grayscale or grayscale-alpha. Partial fix for bug #144971.
2004-06-25 Philip Lafleur <plafleur@cvs.gnome.org>
* plug-ins/common/zealouscrop.c: Moved Zealous Crop from
<Image>/Layer/Crop to <Image>/Image/Crop because it affects the
entire image.
2004-06-25 Michael Natterer <mitch@gimp.org>
* app/actions/context-actions.c: added GIMP_ACTION_SELECT_SET
actions which set a generated brush's properties directly.
* app/actions/context-commands.c: adjust the range of possible
brush radius and aspect_ratio values to be actually usable.
2004-06-25 Michael Natterer <mitch@gimp.org>
* app/core/gimpbrushgenerated.[ch]: reordered parameters and
members to be consistent with other places where generated
brushes are used. Check for errors when loading a brush and
utf8-validate its name. Cleanup.
* app/core/gimpbrush.c
* app/core/gimpbrushpipe.c: cleanup.
2004-06-25 Michael Natterer <mitch@gimp.org>
* app/gui/preferences-dialog.c (prefs_dialog_new): work around
GTK+ bug #143270 (set the cursor on the selected model path
instead of selecting the iter in the selection). Fixes random
theme switching when selecting the "Theme" page.
2004-06-25 Michael Natterer <mitch@gimp.org>
* app/core/gimpbrushgenerated.c: added properties for all brush
parameters.
* app/widgets/gimpbrusheditor.c: listen to property changes of the
edited brush and update the scales accordingly.
2004-06-25 Michael Natterer <mitch@gimp.org>
* app/gui/preferences-dialog.c: more work on the controller page,
made integer controller properties editable.
* modules/controller_midi.c: allow to specify the MIDI channel to
generate events from. Default to -1 (all channels).
* plug-ins/gfig/gfig.[ch]:
* plug-ins/gfig/gfig-preview.c: Let gfig use a thumbnail of the
image as background for its preview, if the image is RGB and "Show
image" is checked in the Options tab. (Next best thing to
previewing in the image.)
2004-06-25 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontrollerinfo.[ch]: added a boolean property
"debug-events" and honor it when printing debugging output.
Should add an event console window so the user doesn't need to
have a terminal to inspect input module output.
* app/gui/prefereces-dialog.c: HIGified some forgotten labels.
Renamed the "Pointer Movement Feedback" frame to "Mouse Cursors".
Replaced some forgotten "Dir" with "Folder".
Made more GimpControllerInfo and GimpController properties
editable and cleaned up the controller page.
2004-06-25 Michael Natterer <mitch@gimp.org>
* modules/controller_linux_input.c
* modules/controller_midi.c: remember the source ID returned by
g_io_add_watch() and remove it when changing the device, so the
file descritor gets actually closed. Minor cleanups.
2004-06-24 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.[ch]
* app/tools/tool_manager.[ch]: added boolean return value to
GimpTool::key_press() which indicates if the event was handled.
* app/tools/gimpcroptool.c
* app/tools/gimpeditselectiontool.[ch]
* app/tools/gimptransformtool.c
* app/tools/gimpvectortool.c: return TRUE if the key event was handled.
* app/tools/gimppainttool.c: removed key_press() implementation.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcontrollerkeyboard.[ch]: new controller class
which takes GdkEventKey and emits controller events for all
combinations of modifiers and cursor keys.
* app/widgets/gimpcontrollers.[ch]: added new function
gimp_controllers_get_keyboard().
* app/display/gimpdisplayshell-callbacks.c: if a key event was not
handled by the active tool, dispatch it to the keyboard controller.
* etc/controllerrc: add a keyboard controller which is configured
to do the same as the removed gimp_paint_tool_key_press().
2004-06-23 Michael Natterer <mitch@gimp.org>
* modules/controller_midi.c: added utility function midi_event()
which assembles a GimpControllerEventValue and emits it.
2004-06-23 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpenumaction.[ch]
* app/widgets/gimppluginaction.[ch]
* app/widgets/gimpstringaction.[ch]: added parameters to the
gimp_*_action_selected() function so the "selected" signal can be
emitted with value != action->value. Changed GtkAction::activate()
implementations accordingly (pass action->value).
* app/widgets/gimpcontrollers.c: call gimp_enum_action_selected()
and pass the value of the GimpControllerEventValue instead of
temporarily replacing action->value and calling
gtk_action_activate().
* app/widgets/gimpcontrollerinfo.c: fixed debugging output.
2004-06-23 Michael Natterer <mitch@gimp.org>
* app/paint/gimpbrushcore.[ch]: added signal "set-brush" which is
G_SIGNAL_RUN_LAST so we can connect before and after the default
implementation. Moved the brush setting and outline invalidation
stuff to its default implementation. Also remember the outline's
width and height. Call gimp_brush_core_set_brush() from
gimp_brush_core_invalidate_cache() so "set-brush" is emitted
whenever a generated brush becomes dirty.
* app/tools/gimppainttool.c (gimp_paint_tool_button_press): don't
pause/resume but rather stop/start the draw_tool. Fixes straight
line preview aretefacts.
(gimp_paint_tool_oper_update): set the brush_core's brush before
starting the draw_tool.
(gimp_paint_tool_draw): never free the brush_core's cached brush
outline because the brush_core does that by itself now.
(gimp_paint_tool_set_brush)
(gimp_paint_tool_set_brush_after): new callbacks which pause and
resume the draw_tool. Fixes brush outline artefacts when modifying
the current brush e.g. by using the mouse wheel.
2004-06-22 Sven Neumann <sven@gimp.org>
* app/composite/gimp-composite-regression.c: define timersub()
macro in case it's undefined. Patch by Tim Mooney, fixes 'make
check' on Tru64 (bug #144780).