* plug-ins/common/CML_explorer.c: Transformed one GtkPreview to a
GimpPreviewArea and the other to a simple GtkDrawingArea, since this
makes the code simpler.
2004-07-30 Sven Neumann <sven@gimp.org>
Applied a bunch of AIX portability fixes (bug #148813):
* configure.in: when testing for Xmu library, link with -lXt -lX11.
* app/gui/tips-parser.c
* app/gui/user-install-dialog.c
* app/tools/tools-enums.h
* app/widgets/gimpdasheditor.c
* app/widgets/widgets-enums.h
* libgimpthumb/gimpthumb-error.h
* libgimpwidgets/gimpcolorbutton.c
* plug-ins/common/edge.c: removed trailing commas from enums.
* plug-ins/common/snoise.c
* plug-ins/imagemap/imap_cmd_move.c: no C++ style comments.
* app/paint-funcs/paint-funcs-generic.h
* app/paint-funcs/paint-funcs.c: use integers for bit fields.
2004-07-29 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimppreviewarea.c: only invalidate the buffer
on size_allocate; allocate a new one on the next call to
gimp_preview_area_draw(). Fixed buffer offset in expose method.
* libgimpwidgets/Makefile.am
* libgimpwidgets/test-preview-area.c: more a benchmark than a
test; quite similar to testrgb from the GTK+ source tree.
2004-07-29 Michael Natterer <mitch@gimp.org>
* libgimpmodule/gimpmoduledb.c: converted tabs to spaces, removed
unused #if 0'ed prototype and unused #includes, minor cleanups.
2004-07-29 Sven Neumann <sven@gimp.org>
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.def
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/gimppreviewarea.[ch]: added GimpPreviewArea, a
replacement for GtkPreview, loosely based on patches from Geert
Jordaens and David Odin. Fixes bug #144759.
* plug-ins/common/sharpen.c: use the new widget instead of a
GtkPreview; saves about 100 lines of rather complex code :)
2004-07-29 Michael Natterer <mitch@gimp.org>
* etc/controllerrc: changed default configuration of the keyboard
controller: scroll the display one step on cursor_key, scroll by
one page on <shift>+cursor_key and scroll to top/bottom/left/right
on <control>+cursor_key. Fixes bug #53988.
Moved the old opacity-modifying actions to <alt>+cursor_key.
2004-07-29 Michael Natterer <mitch@gimp.org>
Replaced the concept of having a boolean indicating if an undo
step dirties the image by a bitfield indicating which parts
of the image are dirtied:
* app/core/core-enums.[ch]: reordered two values in enum
GimpUndoType, added GIMP_DIRTY_IMAGE_SIZE to enum GimpDirtyMask.
The values of GimpDirtyMask are still questionable and will
probably change...
* app/core/gimpimage.[ch]: removed signal "undo_start" and added
a GimpDirtyMask parameter to the "dirty" and "clean" signals.
* app/core/gimpimage-undo.[ch] (gimp_image_undo_push): replaced
"gboolean dirties_image" by "GimpDirtyMask dirty_mask" and pass
it to gimp_image_dirty().
(gimp_image_undo_group_start): added *ugly* code which tries to
figure GimpDirtyMask from the group's GimpUndoType and store it in
the GimpUndoGroup. Call gimp_image_dirty() instead of the removed
gimp_image_undo_start(). This means the undo group now dirties the
image just like one of its undo steps, but that's no problem since
undoing cleans it in the same way.
* app/core/gimpundo.[ch]: s/dirties_image/dirty_mask/g
(gimp_undo_pop): emit clean/dirty signals *before* performing the
actual undo step so listeners can detach from the image before it
is changed by undo.
* app/core/gimpimage-undo-push.c (gimp_image_undo_push_*): pass a
GimpDirtyMask instead of TRUE/FALSE to gimp_image_undo_push().
* app/core/gimpimagemap.[ch]: removed "gboolean interactive"
because it makes no sense to use GimpImageMap noninteractively.
Don't freeze()/thaw() undo while the image_map is active which
fixes many ways of trashing the image's undo state but probably
introduces new ways of doing evil things.
* app/display/gimpdisplay-foreach.c
* app/display/gimpdisplayshell-handlers.c: changed according
to the GimpImage::clean()/dirty() signal changes. Small fixes
in the quit dialog's dirty image container.
* app/tools/gimptoolcontrol.[ch]: added member and API to
set/get the dirty_mask.
* app/tools/gimpcroptool.c
* app/tools/gimpimagemaptool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimptexttool.c
* app/tools/gimptransformtool.c: whenever setting "preserve" to
FALSE, also set a "dirty_mask" which specifies on which image
changes the tool wants to be canceled.
* app/tools/tool_manager.c: removed "undo_start" connection and
connect to both "dirty" *and* "clean" to check if the active_tool
needs to be canceled. Cancel the tool only if the dirty_mask
passed in the signal has common bits with the tool's dirty_mask.
Fixes bug #109561 and probably opens some new ones...
2004-07-29 Michael Natterer <mitch@gimp.org>
Added support for motion event history as provided by some input
device drivers. If you have a tablet driver supporting this,
please try and report back.
* app/display/gimpdisplayshell.h (struct GimpDisplayShell): added
member "guint32 last_motion_time".
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_tool_events): remember the last_motion_time on
button_press() and after motion() and ask the current device for
its motion history; in motion(), if the active_tool asks for exact
motions, check if the input device recorded a motion history and
process the history instead of the motion event.
(gimp_display_shell_get_time_coords): new utility function which
gets GimpCoords from a GdkTimeCoord struct as used by the motion
history.
2004-07-29 Sven Neumann <sven@gimp.org>
* app/core/core-enums.h: removed enums GimpImageType and
GimpImageBaseType ...
* libgimpbase/gimpbaseenums.h: ... and added them here. Also moved
all enums from gimpbasetypes.h to this new file.
* libgimpbase/Makefile.am
* tools/pdbgen/Makefile.am: changed accordingly.
* app/core/core-enums.c
* libgimp/gimpenums.h
* libgimpbase/gimpbaseenums.c
* tools/pdbgen/enums.pl: regenerated.
* libgimpbase/gimpparasite.c
* libgimpbase/gimpprotocol.c
* libgimp/gimp.c: include <glib-object.h>
* libgimpbase/gimpbasetypes.[ch]: added API to set and get a
translation domain on a GType. This is used for translatable enum
values.
* libgimpbase/gimputils.[ch]: added API to retrieve the translated
name for an enum value.
* app/widgets/gimpenumstore.c
* app/widgets/gimpenumwidgets.c: use the new API in libgimpbase.
2004-07-29 Dave Neary <bolsh@gimp.org>
* app/core/gimpdrawable-transform.c: Stop signed ints overflowing
while getting the mean by replacing (a + b) / 2 with a / 2 + b / 2.
Fixes bug #128594 for drawables less than 32K wide.
2004-07-29 Michael Natterer <mitch@gimp.org>
* app/gui/preferences-dialog.c: renamed "Cleared saved foobar now"
buttons to "Reset saves foobar to default values". Fixes bug #5673.
Added mnemonics for all the configure/save/reset buttons.
2004-07-29 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_free_script):
applied patch by Kevin Cozens that moves a g_free() to the right
place (bug #148729).
2004-07-28 Michael Natterer <mitch@gimp.org>
* app/actions/actions.c (action_groups): register the
GIMP_STOCK_VISIBLE icon with the "view" action group.
* plug-ins/gimpressionist/brush.c: removed a redundant parameter
from one of the internal functions.
* plug-ins/gimpressionist/utils.c: Made sure that resources that
are selected by the presets will position their list views
accordingly.
2004-07-28 Sven Neumann <sven@gimp.org>
* plug-ins/imagemap/imap_default_dialog.c: no need to include
"libgimp/stdplugins-intl.h" here.
2004-07-28 Sven Neumann <sven@gimp.org>
* POTFILES.in: updated.
2004-07-28 Michael Natterer <mitch@gimp.org>
* app/gui/preferences-dialog.c (prefs_dialog_new): reordered
buttons in the Interface -> Keyboard Shortcuts section to be
consistent with other sections which provide configure/save/clear
buttons.
2004-07-28 Michael Natterer <mitch@gimp.org>
* app/tools/gimpbycolorselecttool.c (gimp_by_color_select_tool_init)
* app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_init):
don't call gimp_tool_control_set_preserve (tool->control, FALSE)
because these tools don't cashe any image state and don't care
about the image changing under their feet.
2004-07-28 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_reconnect):
emit "reconnect" *before* emitting scale and scroll events so
listeners (the navigation view) can switch to the new image at the
right time.
2004-07-28 Sven Neumann <sven@gimp.org>
Applied a patch from Brion Vibber that makes the TWAIN plug-in
available on Mac OS X (bug #147962):
* configure.in
* plug-ins/Makefile.am: check for Mac OS X twain support.
* plug-ins/twain/Makefile.am
* plug-ins/twain/tw_local.h
* plug-ins/twain/tw_mac.c
* plug-ins/twain/tw_platform.h
* plug-ins/twain/tw_win.c: new files with platform specific code.
* plug-ins/twain/README
* plug-ins/twain/tw_dump.[ch]
* plug-ins/twain/tw_func.[ch]
* plug-ins/twain/tw_util.[ch]
* plug-ins/twain/twain.c: changed accordingly.
* plug-ins/twain/gimp-twain.png: twain application icon used by
the Mac port.
* plug-ins/twain/tw_sess.c: removed, doesn't seem to be used.
* plug-ins/common/shift.c
* plug-ins/common/sinus.c
* plug-ins/common/snoise.c
* plug-ins/common/spheredesigner.c: added missing calls to
g_rand_free (), remove tabs while I was at it.
* plug-ins/common/smooth_palette.c: minor cleanup
* plug-ins/common/spread.c: removed tabs.
2004-07-28 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.h: added still unused flags type
GimpDirtyMask.
* app/base/Makefile.am
* app/core/Makefile.am
* app/display/Makefile.am
* app/paint/Makefile.am
* app/text/Makefile.am
* app/tools/Makefile.am
* app/widgets/Makefile.am
* libgimpthumb/Makefile.am: changed calls to gimp-mkenums to
support GTypeFlags and to make the value arrays private to the
get_type() functions.
* app/base/base-enums.c
* app/core/core-enums.c
* app/display/display-enums.c
* app/paint/paint-enums.c
* app/text/text-enums.c
* app/tools/tools-enums.c
* app/widgets/widgets-enums.c: regenerated.
2004-07-28 Michael Natterer <mitch@gimp.org>
* libgimp/gimpbrushselect.c
* libgimp/gimpfontselect.c
* libgimp/gimpgradientselect.c
* libgimp/gimppalettemenu.c
* libgimp/gimppaletteselect.c
* libgimp/gimppatternselect.c (gimp_*_select_destroy): don't
leak the selected object's name and its data (brush mask etc).
* libgimp/gimpfontmenu.c: moved the icon to the left side of the
button.
* libgimp/gimppalettemenu.c: ditto. Added "Since: GIMP 2.2" to
API docs.
2004-07-28 Michael Natterer <mitch@gimp.org>
Enabled disabling all menu mnemonics. Addresses bug #120034:
* app/config/gimpguiconfig.[ch]
* app/config/gimprc-blurbs.h: added boolean RESTART property
"menu-menonics".
* app/gui/preferences-dialog.c: added a GUI for it.
* app/widgets/gimpactiongroup.[ch]: added boolean CONSTRUCT_ONLY
property "mnemonics".
(gimp_action_group_add_*_actions): call gimp_strip_uline() on
the actions' labels if mnemonics is FALSE.
* app/widgets/gimpactionfactory.[ch]
* app/actions/actions.c: pass gui_config->menu_menmonics to
all action groups.