2004-07-03 Michael Natterer <mitch@gimp.org>
* app/tools/gimppainttool.c (gimp_paint_tool_cursor_update): if
the color tool is enabled, skip cursor hiding entirely.
2004-07-02 Philip Lafleur <plafleur@cvs.gnome.org>
* app/tools/gimptransformoptions.[ch]:
* app/tools/gimptransformtool.c:
* app/tools/tools-enums.[ch]: Replaced "Preview" checkbutton with
a combobox with options "Outline", "Grid", "Image", and
"Image + Grid".
2004-07-02 Sven Neumann <sven@gimp.org>
* app/actions/edit-actions.c: don't let the Paste menu items
sensitivity depend on the availability of clipboard data because
we aren't notified when the GDK clipboard changes.
2004-07-02 Sven Neumann <sven@gimp.org>
* app/gui/Makefile.am
* app/gui/clipboard.[ch]: new files implementing a clipboard for
image data based on GDK_SELECTION_CLIPBOARD (bug #133247).
* app/actions/edit-actions.c
* app/actions/edit-commands.c: use the new clipboard API.
* app/gui/gui.c: initialize and shutdown the clipboard.
* app/core/gimpbuffer.c: cosmetics.
* app/actions/actions.c
* app/menus/menus.c: added sanity checks to exit functions.
* app/display/gimpdisplayshell-dnd.[ch]: let
gimp_display_shell_drop_svg() take a guchar * buffer.
* app/widgets/gimpselectiondata.c (gimp_selection_data_get_pixbuf):
fixed the implementation.
2004-07-01 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpfgbgarea.[ch]: implement GtkWidget::drag_motion()
and set the FG/BG depending on where the color was dropped. Also
set the drag status accordingly so the cursor indicates whether
dropping will have an effect or not. Fixes bug #145219.
2004-06-30 Philip Lafleur <plafleur@cvs.gnome.org>
* app/tools/gimppainttool.c (gimp_paint_tool_cursor_update):
Chain up if the color tool is enabled. This fixes the problem of
the color picker cursor not appearing when using a paint tool
in color picking mode while "Show Paint Tool Cursor" is off.
2004-06-30 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-ins.[ch] (plug_ins_init): added a GimpContext
parameter and use it to start plug-ins.
* app/core/gimp.c (gimp_real_restore): pass the user context.
Restores script-fu's access to the global FG, FG, brush, ...
2004-06-30 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/drawable.pdb
* libgimp/gimppixbuf.c: raised the maximum size for thumbnails
from 256 to 512 pixels.
* app/pdb/drawable_cmds.c
* libgimp/gimpdrawable_pdb.c: regenerated.
* plug-ins/gfig/gfig-preview.c
* plug-ins/gfig/gfig.c: redone Bill's fix using
gimp_image_get_thumbnail(). A lot simpler, renders the alpha
checkerboard and also works for grayscale images.
2004-06-30 Michael Natterer <mitch@gimp.org>
Fixed a 1.2 -> 2.0 regression that was forgotten:
* app/widgets/widgets-enums.[ch]: added enum GimpColorPickState
which can be one of { NEW, UPDATE }.
* app/widgets/gimppaletteeditor.[ch]: changed #if 0'ed function
gimp_palette_editor_update_color() to
gimp_palette_editor_pick_color() and restored the functionality of
creating/updating colors via this API
Changed button_press handler to only edit the color on double
click if it's really a double click on the same color.
Fixes bug #141381.
* app/tools/gimpcolorpickeroptions.[ch]: added boolean property
"add-to-palette" and a GUI for it.
* app/core/gimpmarshal.list
* app/tools/gimpcolortool.[ch]: added a GimpColorPickState
parameter to the "color_picked" signal. Pass NEW on button_press
and UPDATE on motion.
* app/tools/gimpcurvestool.c (gimp_curves_tool_color_picked)
* app/tools/gimplevelstool.c (gimp_levels_tool_color_picked)
* app/tools/gimppainttool.c (gimp_paint_tool_color_picked):
changed accordingly
* app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_picked):
If "add-to-palette" is TRUE, get the palette editor and call
gimp_palette_editor_pick_color().
2004-06-30 Sven Neumann <sven@gimp.org>
* app/widgets/gimpselectiondata.[ch]: renamed the SVG related
functions so that they deal with an anonymous data stream that
could as well be a PNG image.
* app/widgets/gimpdnd.[ch]
* app/widgets/gimpcontainertreeview-dnd.c: changed accordingly.
* app/display/gimpdisplayshell-dnd.[ch]
* app/vectors/gimpvectors-import.[ch]
* app/widgets/gimpcontainertreeview-dnd.c
* app/widgets/gimpvectorstreeview.c: use gsize for the length of
the buffer.
* app/widgets/gimpdnd.[ch]
* app/widgets/widgets-enums.[ch]: added GIMP_DND_TYPE_PNG which isn't
used yet.
2004-06-30 Michael Natterer <mitch@gimp.org>
* app/core/gimppalette.[ch] (gimp_palette_add_entry): take
const GimpRGB* instead of just GimpRGB*.
Converted tabs to spaces.
2004-06-30 Michael Natterer <mitch@gimp.org>
* widgets/gimpselectiondata.[ch] (gimp_selection_data_get_svg):
changed return value from gchar* to const gchar*. Renamed
parameters to be consistent with other SVG functions.
* widgets/gimpcontainertreeview-dnd.c
* widgets/gimpdnd.c: changed accordingly.
2004-06-30 Simon Budig <simon@gimp.org>
* app/vectors/gimpstroke.[ch]
* tools/pdbgen/pdb/paths.pdb: Applied a modified patch from
Geert Jordaens that implements the gimp-path-get-point-at-dist
PDB function (fixes bug #138754).
* app/pdb/paths_cmds.c: regenerated
2004-06-30 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptoolbox.c (gimp_toolbox_button_accel_changed):
do like GtkAccelLabel does and turn underscores in accels into
spaces so e.g. "Page_Up" becomes "Page Up".
2004-06-29 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c: reordered drop destinations
so vectors are preferred over SVG.
* app/vectors/gimpvectors-import.[ch]: added "gint position"
parameter to all import functions so the imported vectors can be
added at any position in the vectors stack.
* app/actions/vectors-commands.c
* app/display/gimpdisplayshell-dnd.c
* tools/pdbgen/pdb/paths.pdb: changed accordingly (pass -1 as
position).
* app/pdb/paths_cmds.c: regenerated.
* app/widgets/gimpvectorstreeview.c: implemented SVG DND from and
to the paths dialog.
2004-06-29 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainertreeview-dnd.c: don't free the SVG data
after dropping, it's owned by GtkSelectionData.
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-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).
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-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>
* 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.