* app/paint/gimpbrushcore.c
* app/paint/gimppaintoptions.c
* app/paint/gimppaintoptions.h
* app/tools/gimppaintoptions-gui.c: reverted last change, and
applied full patch from Dave Ahlswede in bug #149576.
2004-12-17 Sven Neumann <sven@gimp.org>
* app/tools/gimpmovetool.c (gimp_move_tool_cursor_update): don't
use the rect-select cursor if the tool is in move-layer mode.
Spotted by Joao S. O. Bueno, bug #161465.
2004-12-17 Simon Budig <simon@gimp.org>
* app/tools/gimpcurvestool.c: Kill some nonsensical code that
tried to set control points in a free form curve based on the
image coordinates (huh?). Untabbified.
2004-12-17 Sven Neumann <sven@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_pick_color):
take drawable offsets into account. Fixes bug #161508.
2004-12-13 Sven Neumann <sven@gimp.org>
* app/tools/gimpcroptool.c: don't show the Crop tool window if
Shift is being pressed on the initial button_press event.
2004-12-06 Michael Natterer <mitch@gimp.org>
* app/tools/gimptransformtool.c: applied patch from Sven Neumann
which removes code that prevents layers with mask from being
transformed.
* app/tools/gimptransformtool.[ch]: added "gboolean mask_empty"
parameter to GimpTransformTool::transform(). Needed because the
selection gets cleared by cutting from the drawable and we need
the selection's state before that cutting.
(gimp_transform_tool_doit): pass "mask_empty" to
GimpTransformTool::transform():
* app/tools/gimptransformtool.c (gimp_transform_tool_real_transform)
* app/tools/gimpfliptool.c (gimp_flip_tool_transform): when
transforming a layer with mask and there is no selection,
transform the mask just as if it was a linked item.
Fixes bug #143837 and bug #159697.
2004-11-26 Sven Neumann <sven@gimp.org>
* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui): only
show the Incremental toggle for tools that use it (bug #159306).
2004-11-23 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: added new function
gimp_toggle_button_set_visible() which can be used as "toggled"
callback on a GtkToggleButton and sets a widget (in)visible
according to the toggle's "active" state.
* app/tools/gimpblendoptions.c
* app/tools/gimppaintoptions-gui.c
* app/tools/gimpselectionoptions.c: use it to hide (rather than
just insensitize) the seldomly used "Feather edges", "Autoshrink
selection", "Adaptive supersampling", "Fade out" and "Use color
from gradient" widgets when their enabling toggle is unchecked.
Makes the affected tool options much less crowded and noisy in
their default appearance. Fixes bug #159008.
2004-11-22 Michael Natterer <mitch@gimp.org>
* app/tools/gimptextoptions.[ch] (gimp_text_options_editor_new):
added a "menu_factory" parameter instead of trying to get it from
the toplevel GimpDock (which does not exists if the tool options
dialog does not exist). Fixes bug #159071.
* app/tools/gimptexttool.c (gimp_text_tool_editor): pass the
menu_factory.
* app/dialogs/dialogs.c (dialogs_init): pass the global menu
factory also when constructing the "toplevel" dialog factory so
the above works.
2004-09-21 Hans Breuer <hans@breuer.org>
* app/dialogs/makefile.msc : [new file]
app/dialogs/Makefile.am : added to EXTRA_DIST
* **/makefile.msc app/gimpcore.def : updated
* app/gimp.rc : let wilber be first
* app/widgets/gimppropwidgets.c : msvc6 can't cast uint64 either
* libgimpbase/gimpwin32-io.h : make up recent loss of ftruncate in GLib
* libgimpthumbnail/gimpthumbnail.c : <process.h> for getpid() on win32
* plug-ins/helpbrowser/dialog.c : include gimpwin32-io.h
* plug-ins/script-fu/siodwrapper.c plug-ins/script-fu/scrip-fu.c : there
is no script-fu-server on win32
2004-11-11 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_response):
call gimp_image_flush() after committing the image_map so the
menus are up-to-date. Fixes bug #157914.
2004-11-10 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.[ch]: added new function
gimp_statusbar_push_length(), which works exactly like
push_coords() but takes only one value plus a GimpOrientationType
for specifying the value's axis.
* app/tools/gimptool.[ch]: added the corresponding
gimp_tool_push_status_length().
* app/tools/gimpmovetool.c: use gimp_tool_push_status_length()
so the guide position is shown in the selected display unit.
Cleaned up the status message code a bit.
2004-11-04 Michael Natterer <mitch@gimp.org>
Don't use deprecated GtkToolbar API in GimpTextEditor:
* app/actions/Makefile.am
* app/actions/actions.c
* app/actions/text-editor-actions.[ch]
* app/actions/text-editor-commands.[ch]: added acions and
callbacks for the new "text-editor" action group.
* app/menus/menus.c: register a "<TextEditor>" UI manager.
* menus/Makefile.am
* menus/text-editor-toolbar.xml: new file for the toolbar.
* app/widgets/gimptexteditor.[ch]: use the toolbar created by the
UI manager instead of constructing it using deprecated API.
* app/tools/gimptextoptions.c: changed accordingly.
* app/widgets/gimpwidgets-utils.[ch]: added gimp_text_buffer_load()
(used by text-editor-commands.c).
2004-11-02 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcroptool.c (crop_recalc): added "gboolean
recalc_highlight" and call gimp_display_shell_set_highlight() only
when it's TRUE. Pass TRUE from all places where the crop outline
actually changed.
(gimp_crop_tool_control): added back the call to crop_recalc() for
the RESUME case so the outline gets updated on zoom/scroll, but pass
recalc_highlight = FALSE because it has not changed.
Fixes bug #157001.
2004-10-30 Sven Neumann <sven@gimp.org>
* app/config/gimpguiconfig.[ch]
* app/config/gimprc-blurbs.h
* app/dialogs/preferences-dialog.c
* app/tools/gimpmoveoptions.[ch]
* app/tools/gimpmovetool.[ch]: reverted changes for bug #156801.
Instead added a gimprc option that allows to get the old behaviour
back.
2004-10-30 Sven Neumann <sven@gimp.org>
* app/tools/gimpmoveoptions.[ch]
* app/tools/gimpmovetool.[ch]: applied (cleaned up version of) a
patch from Joao S. O. Bueno that adds a tool-option to restore the
old Move tool behaviour. Fixes bug #156801.
2004-10-27 Michael Natterer <mitch@gimp.org>
* app/core/gimp-transform-utils.[ch]. switch from x1,y1,x2,y2
bounding boxes to x,y,width,height ones. Added
gimp_transform_matrix_flip_free(). Renamed some parameters to be
consistent with others. Some internal cleanup.
* app/tools/gimpperspectivetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c
* tools/pdbgen/pdb/drawable_transform.pdb
* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.
* tools/pdbgen/pdb/drawable_transform.pdb
* tools/pdbgen/pdb/transform_tools.pdb: guard all transform
wrappers with if(gimp_drawable_mask_intersect(...)), also the
ones which don't need the returned bounding box.
* tools/pdbgen/pdb/drawable_transform.pdb: renamed some parameters
and added gimp_drawable_transform_matrix() which takes the 9
coefficients of a 3x3 matrix for ultimate flexibility ;)
* app/pdb/drawable_transform_cmds.c
* app/pdb/internal_procs.c
* app/pdb/transform_tools_cmds.c
* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
2004-10-25 Michael Natterer <mitch@gimp.org>
Don't store human readable and translatable enum/flag strings in
GEnumValue's and GTypeValue's fields but attach them to their
GType using separate structs and utility functions:
* tools/gimp-mkenums: added params and perl voodoo to support
generating a second array of values, which is used by the
Makefiles below to create and register arrays of value
descriptions.
* libgimpbase/gimpbasetypes.[ch]: added API to attach/retreive
arrays of translatable strings to/from enum and flags types. Added
structs GimpEnumDesc and GimpFlagsDesc for that purpose.
* libgimpbase/gimputils.[ch]: changed existing enum utility
functions, added new ones and added a symmetric API for flags.
* 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
* libgimp/Makefile.am
* libgimpbase/Makefile.am: changed *-enums.c generation rules
accordingly.
* 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
* libgimpbase/gimpbaseenums.c: regenerated.
* app/widgets/gimpenumstore.c
* app/widgets/gimpenumwidgets.c
* app/widgets/gimptemplateeditor.c
* libgimpwidgets/gimppreviewarea.c: follow the enum utility
function API changes.
2004-10-23 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpstock.c: added labels ("_Stroke") to the
SLEECTION_STROKE and PATH_STROKE stock items so they can be used
in action areas.
* app/widgets/gimpstrokeeditor.c: changed mnemonic to no clash
with "_Stroke" and reordered some code.
* app/dialogs/stroke-dialog.[ch]: use the passed stock_id instead
of GTK_STOCK_OK. Added parameters to specify the dialog's title
so it doesn't say "Stroke Options".
* app/actions/select-commands.c
* app/actions/vectors-commands.c
* app/tools/gimpvectortool.c: pass "Stroke Selection" and "Stroke
Path" as dialog titles.
2004-10-22 Sven Neumann <sven@gimp.org>
* app/tools/gimpimagemaptool.[ch]
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c: allow to Shift-click the Load and
Save buttons to skip the file chooser dialog and reuse the last
used filename. Fixes bug #75558.
2004-10-19 Michael Natterer <mitch@gimp.org>
* app/tools/gimptextoptions.c (gimp_text_options_gui): removed
3 mnemonics. No other tool options label has a mnemonic.
Addresses bug #155861.
2004-10-18 Michael Natterer <mitch@gimp.org>
Action code review and pre-release consistency cleanup:
* app/actions/*-actions.c: added some missing and resolved
conflicting mnemonics, added missing help IDs. Cleaned up the
*_actions_update() functions.
* app/actions/channels-actions.c
* app/actions/layers-actions.c
* app/actions/vectors-actions.c (*_actions_update): simplified
the code that figures the prev and next channel,layer,vectors.
* app/actions/qmask-actions.c: use the same accelerator for
"qmask-active" and "qmask-toggle". Fixed action sensitivity.
* app/actions/channels-commands.c
* app/actions/dockable-commands.c
* app/actions/documents-commands.c
* app/actions/gradients-commands.c
* app/actions/layers-commands.c
* app/actions/palettes-commands.c
* app/actions/image-commands.c
* app/actions/select-commands.c
* app/actions/vectors-commands.c: folded tons of private utility
functions into their only callers (they used to be public and
called from outside before the switch to action based menus).
Renamed functions and variables saying "query" or "qbox" to
"dialog". Moved static functions to the end of the files. Misc
minor cleanups.
* app/actions/drawable-actions.c
* app/actions/drawable-commands.c: made the "drawable-visible" and
"drawable-linked" actions affect the layer if the active drawable
is a layer mask.
* app/actions/select-commands.c: added action to stroke with the
last values used in an attempt to address bug #135746 but #if 0'ed
it because the approach is too ugly.
* app/tools/gimpiscissorstool.c: changed mnemonic from I to S.
* menus/image-menu-xml.in: added more stuff to the (commented out)
"context" menu.
2004-10-15 Sven Neumann <sven@gimp.org>
* app/tools/gimptransformoptions.c: removed the "Density" label.
It wasn't helpful and caused the transform options to be wider than
necessary.
* app/tools/gimpblendoptions.c
* app/tools/gimppaintoptions-gui.c
* app/tools/gimptransformoptions.c: let combo boxes expand
horizontally like we do in other (all ?) dialogs.
* app/widgets/gimptemplateeditor.c
(gimp_template_editor_aspect_callback): update the pixel size label.
2004-10-11 Michael Natterer <mitch@gimp.org>
* app/tools/gimptooloptions-gui.[ch]: added utility functions
which create a GimpViewableButton+GimpContainerEntry combo for
brushes, patterns, gradients and fonts and a very ugly utility
function which packs one of these combos into a GtkFrame returned
by gimp_prop_enum_radio_frame_new(). This stuff does not really
belong here but is too ugly to be moved to a more general place.
* app/tools/gimpbucketfilloptions.c
* app/tools/gimppaintoptions-gui.c
* app/tools/gimptextoptions.c: use the new utility functions. Moved
the pattern previews into the radio frame where using the pattern
is selected. Make them insensitive if using the pattern is not
selected.
2004-10-08 Michael Natterer <mitch@gimp.org>
* app/tools/gimpmeasuretool.c: implement GimpTool::key_press() and
cancel the tool on GDK_Escape. Come cleanup.
2004-10-08 Michael Natterer <mitch@gimp.org>
Made the text options about two toolbox grid columns smaller.
Addresses bug #122862.
* app/widgets/gimppropwidgets.c (gimp_prop_size_entry_new): use
the number of digits of the property's max_val plus two as number
of chars for the sizeentry'y spinbutton (instead of always 10 as
before).
* app/tools/gimptextoptions.c (gimp_text_options_gui): GtkEntry
has a minimal width of 150 pixels (eek). Set a silly small minimal
width instead (the entry expands to the available width anyway).
2004-10-08 Michael Natterer <mitch@gimp.org>
* app/tools/gimppaintoptions-gui.c: the gradient button in blend
options got lost, added it back. Also moved creation of the brush,
pattern and gradient buttons to utility functions and cleaned up
the whole file a bit.
2004-10-06 Michael Natterer <mitch@gimp.org>
* app/tools/gimpeditselectiontool.[ch]: added new parameter
"gboolean propagate_release" to gimp_edit_slection_tool_start()
and remember it in the GimpEditSelectionTool struct. If requested,
propagate GimpTool::button_release() to the tool below in the tool
stack.
* app/tools/gimpselectiontool.c (gimp_selection_tool_start_edit):
pass FALSE so we don't get the button_release().
* app/tools/gimpmovetool.[ch]: pass TRUE so we get
button_release(). If moving a layer or path in "pick active" mode,
remember the old active layer/path and switch back to it in
button_release(). Fixes bug #97734.
Unrelated:
* app/tools/gimpeditselectiontool.c
(gimp_edit_selection_tool_motion): set "first_move" to FALSE only
if a move actually happened. Fixes un-undoable moves at high zoom
factors.
2004-10-06 Michael Natterer <mitch@gimp.org>
* app/tools/gimp-tools.c (gimp_tools_restore): reset the tool
options before deserializing so they have the correct default
values. Fixes bug #120832.
* app/tools/gimpbucketfilloptions.c
* app/tools/gimpmagnifyoptions.c
* app/tools/gimpselectionoptions.c
* app/tools/gimptransformoptions.c: removed all set_defaults()
utility functions and moved their code to reset(). The change
above calls them automatically so there is no need to call them
from the GUI constructors any more.
2004-10-06 Michael Natterer <mitch@gimp.org>
Fixed the scale constraints radio buttons:
* app/tools/gimptransformoptions.c (gimp_transform_options_gui):
initialize the radio group with the correct value instead of
resetting the model before creating the group.
(gimp_scale_options_constrain_callback): change the model
only if the radio button became active.
(gimp_scale_options_constrain_notify): new callback which makes
the radio buttons a real view on the model again (fixes GUI
updates on modifier press/release).
2004-10-01 Sven Neumann <sven@gimp.org>
* app/tools/gimpcroptool.c (crop_response): destroy the info
dialog instead of hiding it. Fixes session management.
2004-10-01 Sven Neumann <sven@gimp.org>
* app/tools/gimpcroptool.c: unset the highlight from
crop_response() so it gets called when cropping is cancelled.
* app/dialogs/info-dialog.c (info_dialog_show): do what the
function name says, show the window, but don't present it.
Fixes bugs #128833 and #138816.
2004-10-01 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c: no need to include
gimpdisplayshell-render.h here.
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell-render.[ch]
* app/display/gimpdisplayshell.[ch]: added an API to highlight a
rectangle (specified in image coordinates). Actually it doesn't
highlight but dims the area outside the rectangle.
* app/tools/gimpcroptool.c: use the new functionality to show the
area to be cropped. Fixes bug #93360.
2004-09-28 Sven Neumann <sven@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_settings_dialog):
simplified code and removed a compiler warning.
2004-09-28 Sven Neumann <sven@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_settings_dialog):
add a shortcut to the filechooser that points to the user's folder.
* app/actions/vectors-commands.c: added a file filter to the SVG
import dialog.
2004-09-24 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c
(gimp_image_map_tool_settings_dialog): set the folder using
gtk_file_chooser_set_current_folder(), not set_filename().
2004-09-24 Sven Neumann <sven@gimp.org>
* app/base/curves.[ch]
* app/tools/gimpcurvestool.c: defined CURVES_NUM_POINTS and use it.
* tools/pdbgen/pdb/color.pdb (curves_spline_invoker): unset the
last control point which got initialized to (255,255) by
curves_init(). Fixes bug #153635.
* app/pdb/color_cmds.c: regenerated.
2004-09-23 Michael Natterer <mitch@gimp.org>
* app/tools/gimpairbrushtool.c (gimp_airbrush_tool_register)
* app/tools/gimppenciltool.c (gimp_pencil_tool_register):
add GIMP_CONTEXT_GRADIENT_MASK to the tools' context_props because
these tools use the current gradient. Fixes bug #153584.
2004-09-22 Michael Natterer <mitch@gimp.org>
* app/widgets/gimplayertreeview.c
(gimp_layer_tree_view_floating_selection_changed): removed the
hack that was displaying "Floating Selection" instead of the
floating layer's real name.
* app/core/gimplayer.c: implement GimpViewable::get_description()
instead and special case floating selections with a two-line
text that contains "Floating Selection".
* app/core/gimplayer-floating-sel.c
* app/core/gimpimage-undo-push.c: emit "name_changed" on the layer
when it changes its state from floating to normal or vice versa
so the views can update accordingly.
* app/core/gimpselection.c: s/"Selection"/"Floated Layer"/.
* app/tools/gimpeditselectiontool.c:
s/"Floating Layer"/"Floating Selection"/.
2004-09-12 Nathan Summers <rock@gimp.org>
* app/tools/gimpcroptool.c: disable crop and resize buttons while the
operation is being processed. Fixes#152372.
2004-09-06 Simon Budig <simon@gimp.org>
* app/tools/gimpcroptool.c: reordered info_dialog_hide() and
crop_tool_crop_image(), which avoids the repeated popping up
of the info dialog and avoids a crash.
Fixes bug #151712
2004-08-30 Sven Neumann <sven@gimp.org>
* app/tools/gimpvectortool.[ch] (gimp_vector_tool_status_set):
avoid excessive use of strdup() and strcmp(). The strings are all
constant anyway.
2004-08-26 Sven Neumann <sven@gimp.org>
* app/tools/gimp-tools.c (gimp_tools_register): set the paintbrush
as the default tool as suggested in bug #151091.
2004-08-10 Michael Natterer <mitch@gimp.org>
Redid the whole internal progress stuff: don't pass around
progress_callback and progress_data; instead, provide a
pointer to a GimpProgressInterface which can be implemented
by a variety of backends.
Addresses (but not yet fixes) bugs #6010, #97266 and #135185.
* app/display/Makefile.am
* app/display/gimpprogress.[ch]: removed the old progress hack.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpprogress.[ch]: implement GimpProgressInterface.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpprogressdialog.[ch]: the standalone progress
dialog as widget implementing GimpProgressInterface.
* app/display/gimpdisplay.c
* app/display/gimpstatusbar.[ch]
* app/widgets/gimpfiledialog.[ch]
* app/widgets/gimpthumbbox.[ch]: added GimpProgressInterface
implementation to these classes.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: replaced the old progress vtable entries
by two new to create and destroy a GimpProgressDialog in case
no other progress is available.
* app/pdb/procedural_db.[ch]
* app/plug-in/plug-in-run.[ch]
* tools/pdbgen/app.pl: pass a GimpProgress to all PDB wrappers and
all plug-ins.
* app/plug-in/plug-in.[ch]
* app/plug-in/plug-ins.c
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-progress.c: handle the case there the
plug-in was crated with a progress as well as the case where it
wasn't.
* app/app_procs.c
* app/batch.c
* app/xcf/xcf.c
* app/file/file-open.[ch]
* app/file/file-save.[ch]
* app/widgets/gimphelp.c
* app/widgets/gimpbrushselect.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c: changed accordingly.
* app/core/gimpimagefile.[ch]
* app/display/gimpdisplayshell-dnd.c
* app/gui/file-open-dialog.c
* app/gui/file-open-location-dialog.c
* app/gui/file-save-dialog.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimptoolbox-dnd.c: pass a GimpProgress to all file
related functions. Embed the progress in the file dialog where
possible.
* app/core/gimpdrawable-blend.[ch]
* app/core/gimpdrawable-transform.[ch]
* app/core/gimpimage-convert.[ch]
* app/core/gimpimage-flip.[ch]
* app/core/gimpimage-resize.[ch]
* app/core/gimpimage-rotate.[ch]
* app/core/gimpimage-scale.[ch]
* app/core/gimpitem-linked.[ch]
* app/core/gimpitem.[ch]
* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimplayer.c
* app/core/gimpselection.c
* app/vectors/gimpvectors.c: replaced callback/data by GimpProgress.
* app/tools/gimpblendtool.c
* app/tools/gimptransformtool.c
* app/gui/convert-dialog.c
* app/actions/documents-commands.c
* app/actions/file-commands.c
* app/actions/image-commands.c
* app/actions/layers-commands.c
* app/actions/plug-in-commands.c
* app/actions/vectors-commands.c
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb: changed callers accordingly.
* app/pdb/*_cmds.c: regenerated.
2004-08-06 Michael Natterer <mitch@gimp.org>
* app/tools/gimptransformtool.h: removed the recently added
"gdouble aspect_ratio"...
* app/tools/gimpscaletool.[ch]: ...and added it where it belongs.
2004-08-06 Michael Natterer <mitch@gimp.org>
Transform tool cleanup:
* app/tools/gimptransformtool.[ch]: added new virtual function
GimpTransformTool::dialog_update().
Made wrapper for ::recalc() public and function
transform_bounding_box() private.
Call ::dialog_update() and transform_bounding_box() from the
::recalc() wrapper.
* app/tools/gimpperspectivetool.[ch]
* app/tools/gimprotatetool.[ch]
* app/tools/gimpscaletool.[ch]
* app/tools/gimpsheartool.[ch]: turned all info_dialog update
functions into GimpTransformTool::dialog_update() implementations
and don't call them from ::recalc(), also removed calls to
transform_bounding_box(); both functions are called by the parent
class now. Call gimp_transform_tool_recalc() when dialog values
were changed, not the tool's internal function.
Moved all static variables to the instance structs.
2004-08-06 Michael Natterer <mitch@gimp.org>
* app/tools/gimpsheartool.[ch]: applied (modified) patch from Ari
Pollak which enables controlling the shear direction from the
dialog and changing the shear direction without hitting "Reset".
Fixes bug #149467.
Also moved all static variables to the GimpShearTool struct and
converted tabs to spaces.
2004-08-05 Michael Natterer <mitch@gimp.org>
* app/tools/gimpiscissorstool.c: increased the handle size from 8
to 9 pixels (which is the same as in the path tool) as suggested
in bug #134250.
2004-08-05 Michael Natterer <mitch@gimp.org>
* app/tools/gimpscaletool.c
* app/tools/gimptransformtool.h: applied patch from Jordi Gay
(attached to bug #131111) which adds an aspect ratio spinbutton to
the scale dialog and keeps the aspect ratio intact when with or
height are changed using the dialog. Fixes bug #132274.
* app/tools/gimpcroptool.c
* app/tools/gimpscaletool.c: don't set the aspect spinbuttons to
"wrap" and decrease their climb_rate.
2004-08-04 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-brush-generated-*-16.png: removed ...
* themes/Default/images/stock-shape-*-16.png: ... and added back
with more generic names.
* libgimpwidgets/gimpstock.[ch]
* app/widgets/gimpbrusheditor.c: changed accordingly.
* app/tools/gimpinkoptions-gui.c: use the new stock icons here as
well.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpblobeditor.[ch]: added a simple blob shape
editor widget factored out of app/tools/gimpinkoptions-gui.c.
2004-08-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-undo.[ch] (gimp_image_undo_can_compress):
new function which checks if undo compression is possible:
(1) is the image dirty? Fixes bug #148853.
(2) is redo stack empty?
(3) do both the passed undo object_type and undo_type
match the top undo item?
Consistently name the GType and GimpUndoType passed to undo
functions "object_type" and "undo_type" to avoid confusion.
* app/actions/layers-commands.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimptexttool.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c: use the new utility function
instead of checking the above conditions manually.
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 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-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/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-27 Sven Neumann <sven@gimp.org>
* libgimpbase/Makefile.am
* libgimpbase/gimpbase.h
* libgimpbase/gimpbase.def
* libgimpbase/gimpmemsize.[ch]: added new files with memsize
related functions (moved here from gimputil.c) and
GIMP_TYPE_MEMSIZE (moved here from app/config/gimpconfig-types.[ch]).
* libgimpbase/gimputils.[ch]: removed gimp_memsize_to_string() here.
* libgimpbase/gimpunit.[ch]: added GIMP_TYPE_UNIT (moved here from
app/config/gimpconfig-types.[ch]).
* libgimpbase/gimpbase-private.c
* libgimp/gimptile.c
* libgimp/gimpunitcache.c
* plug-ins/help/domain.c
* app/xcf/xcf-read.c: need to include glib-object.h.
* plug-ins/common/uniteditor.c: use GIMP_TYPE_UNIT.
* app/config/gimpconfig-types.[ch]: removed code that lives in
libgimpbase now.
* app/config/gimpconfig-deserialize.c: changed accordingly.
* app/config/gimpbaseconfig.c
* app/config/gimpdisplayconfig.c
* app/core/gimpcontext.c
* app/gui/grid-dialog.c
* app/tools/gimpcolortool.c
* app/widgets/gimpaction.c
* app/widgets/gimpunitstore.c: no need to include gimpconfig-types.h
any longer.
2004-07-26 Michael Natterer <mitch@gimp.org>
* app/tools/gimpeditselectiontool.[ch]: renamed init_edit_selection()
to gimp_edit_selection_tool_start(). Removed enum EditType.
* app/tools/tools-enums.h: added enum GimpTranslateMode instead.
* app/tools/gimpmovetool.c: changed accordingly.
* app/tools/gimpselectiontool.[ch]: added protected utility
function gimp_selection_tool_start_edit().
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimprectselecttool.c: use the new function instead of
duplicating the same code three times, don't include
"gimpeditselectiontool.h".
* app/tools/gimpiscissorstool.c: don't include
"gimpeditselectiontool.h".
2004-07-26 Michael Natterer <mitch@gimp.org>
* app/tools/gimpeditselectiontool.c: don't freeze()/thaw() the
image's undo to prevent live-movement from ending up on the undo
stack. Instead, just stop pushing undo steps after the initial
movement. Simplifies edit_select's undo code quite a bit and fixes
bug #148458.
2004-07-14 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimppickable.[ch]: new interface which has
get_image_type(), get_tiles() and get_color_at() methods.
* app/core/gimpdrawable.[ch]
* app/core/gimpimagemap.[ch]
* app/core/gimpprojection.[ch]: implement GimpPickableInterface
and removed public get_colot_at() functions.
* app/core/gimpimage-pick-color.[ch]: removed typedef
GimpImagePickColorFunc and gimp_image_pick_color_by_func(). Use
gimp_pickable_pick_color() instead.
* app/core/gimpimage-contiguous-region.c
* app/core/gimpimage-crop.c
* app/gui/info-window.c
* app/paint/gimpconvolve.c
* app/paint/gimpsmudge.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpimagemaptool.c
* app/widgets/gimpselectioneditor.c: use GimpPickable functions
instead of the various get_color_at() functions. Simplifies code
which has a "sample_merged" boolean. Various cleanups.
2004-07-12 Michael Natterer <mitch@gimp.org>
* app/text/gimptextundo.[ch]: removed member "guint time"...
* app/core/gimpundo.[ch]: ...and added it here.
* app/tools/gimptexttool.c (gimp_text_tool_apply): changed
accordingly. Reordered undo compression code to look like other
pieces of code which do undo compression.
2004-07-12 Michael Natterer <mitch@gimp.org>
* app/core/gimpundo.[ch]
* app/core/gimpitemundo.[ch]
* app/text/gimptextundo.[ch]: removed all _new() functions and
added properties and GObject::constructor() implementations
instead.
* app/core/gimpimage-undo.[ch] (gimp_image_undo_push): added
"GType undo_gtype" parameter and allow to pass name-value pairs as
"...". Une the new GParameter utility functions to construct the
appropriate undo step with g_object_newv().
(gimp_image_undo_push_item): removed.
(gimp_image_undo_push_undo): removed. Merged its code back into
gimp_image_undo_push(), where it originally came from.
* app/core/gimpimage-undo-push.c
* app/core/gimpundostack.c
* app/paint/gimppaintcore-undo.c
* app/tools/gimptransformtool-undo.c
* app/widgets/gimpundoeditor.c: changed accordingly.
2004-07-11 Hans Breuer <hans@breuer.org>
* **/makefile.msc : updated
app/actions/makefile.msc app/menus/makefile.msc : (new files)
app/actions/Makefile.msc app/menus/Makefile.am : added to EXTRA_DIST
* libgimpbase/gimputils.c libgimpwidgets/gimpmemsizeentry.c
app/widgets/gimppropwidgets.c : bumped compiler version check,
msvc6 still can't cast from unsigned __int64 to double
* app/actions/debug-actions.c : only use debug_*_callback
and thus debug_action if ENABLE_DEBUG_MENU
* app/core/gimpalette-import.c : added gimpwin32-io.h
* plug-ins/common/convmatrix.c : s/snprintf/g_snprintf/
* plug-ins/common/screenshot.c : make it compile with msvc,
but still no win32 specific implementation ...
2004-07-07 Sven Neumann <sven@gimp.org>
* app/tools/gimpeditselectiontool.c
(gimp_edit_selection_tool_key_press): adapt the arrow key velocity
to the display scale factor. Please test and complain if you
dislike this behaviour.
* themes/Default/images/Makefile.am
* themes/Default/images/stock-color-pick-from-screen-16.png: new
icon drawn by Jimmac.
* libgimpwidgets/gimpstock.[ch]: register the new icon.
* libgimpwidgets/gimppickbutton.c: use it for the screen color
picker instead of reusing the color picker tool icon.
2004-07-06 Sven Neumann <sven@gimp.org>
Added an RGB histogram based on a patch by Tor Lillqvist. Fixes
bug #145401.
* app/base/base-enums.[ch]: added GIMP_HISTOGRAM_RGB, don't export
it to the PDB.
* app/base/gimphistogram.c: implemented histogram functions for
the RGB mode.
* app/base/levels.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimpcolorbar.c
* app/widgets/gimphistogrameditor.c: handle the new enum value.
* app/widgets/gimphistogramview.c: for GIMP_HISTOGRAM_RGB mode,
draw a histogram that shows the RGB channels simultaneously
2004-07-05 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcolorizetool.c (gimp_colorize_tool_initialize):
return TRUE if initialization was successful. Makes the
tool->drawable pointer being set correctly by the calling code and
fixes bugs where colorize was leaving the drawable in a modified
but non-undoable state when cancelling or changing images.
2004-07-04 Simon Budig <simon@gimp.org>
* app/actions/dialogs-commands.c
* app/display/gimpdisplayshell-dnd.c
* app/gui/preferences-dialog.c
* app/tools/gimppainttool.c
* app/widgets/gimpdeviceinfo.c
* app/widgets/gimpitemtreeview.c
* plug-ins/imagemap/imap_selection.c
* tools/pdbgen/pdb/gradients.pdb: Small changes to make GIMP
CVS compile with gcc 2.95 again. Mostly double semicolons and
variable declarations after other stuff. Spotted by Martin
Renold.
* app/pdb/gradients_cmds.c: regenerated.
(there is one issue left, see his patch at
http://old.homeip.net/martin/gcc-2.95.diff, I did not
copy the #define va_copy __va_copy, since I don't know
what happens here.)
2004-07-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontext.[ch]: added context->serialize_props mask
which enables specifying exactly which properties will be
serialized. Also fixes a bug that prevented undefined properties
from being serialized, breaking tool_options and device status
serialization.
* app/core/gimptoolinfo.c (gimp_tool_info_new): make only the
properties in the tool_info->context_props mask serializable, also
configure/initialize tool_info->tool_options.
* app/tools/gimp-tools.c (gimp_tools_register): removed
tool_options initialization that is now done in
gimp_tool_info_new().
* app/widgets/gimpdeviceinfo.c: make only the properties in
GIMP_DEVICE_INFO_CONTEXT_MASK serializable.
* app/widgets/gimpdevicestatus.c: add the device table to its
parent container again. Fixes "missing" devices.
* app/core/gimptooloptions.c
* app/widgets/gimpdevices.c: cleanup / code review.
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-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>
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-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>
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-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/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 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimpcurvestool.c: added Store/Recall buttons for
one-click saving and loading of curves. Should create stock
labels for them. Hopefully resolves bug #75558.
2004-06-22 Michael Natterer <mitch@gimp.org>
* app/tools/gimpclonetool.c (gimp_clone_tool_draw): chain up
unconditionally now that we draw the brush outline while
painting. Fixes brush outline artefacts on button_press and
button_release. Spotted by sjburges.
2004-06-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogrambox.[ch]: removed the label between the
spinbuttons, it looks silly. Converted tabs to spaces, removed
trailing whitespace.
* app/widgets/gimphistogrameditor.c
* app/tools/gimpthresholdtool.c: changed accordingly.
* app/widgets/gimphistogrambox.[ch]:
* app/tools/gimpthresholdtool.c: Changed the threshold tool dialog
so that it uses a two-triangle-slider scale of the sort used in the
levels tool. Almost all of the changes are actually in the
histogram-box widget code, which is only used by the threshold
tool. Fixes bug #137521.
2004-06-19 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimpscaletool.c: fixed my fix for bug # 68106, which
worked incorrectly for two of the control points.
2004-06-18 Philip Lafleur <plafleur@cvs.gnome.org>
* app/tools/gimptransformtool.c (gimp_transform_tool_bounds):
If transforming a path, use the path bounds rather than the mask
bounds. Fixes bug #144570.
2004-06-15 Philip Lafleur <plafleur@cvs.gnome.org>
* app/tools/gimpcroptool.c (crop_selection_callback): Force
aspect ratio to match selection when 'From Selection' is clicked.
Fixes bug #144361. Also converted tabs to spaces.
2004-06-14 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintcore.[ch]: removed PRETRACE_PAINT and
POSTTRACE_PAINT from the GimpPaintCoreState enum. Removed
"gboolean traces_on_window" from GimpPaintCoreClass.
* app/paint/gimpclone.[ch]
* app/paint/gimpink.c
* app/tools/gimpclonetool.c: changed accordingly.
* app/tools/gimppainttool.c: ditto. Show the brush outline
while painting. Fixes bug #118348.
2004-06-14 Michael Natterer <mitch@gimp.org>
* app/tools/gimptransformtool.c: use gimp_draw_tool_is_active()
instead of GIMP_IS_DISPLAY(draw_tool->gdisp).
2004-06-14 Philip Lafleur <plafleur@cvs.gnome.org>
* app/tools/gimptransformtool.c: Disable preview in corrective
mode, and notify preview when switching transform type and
direction.
2004-06-14 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintcore.[ch]: added new virtual function
GimpPaintCore::post_paint() and call it after calling
GimpPaintCore::paint().
* app/paint/gimpbrushcore.[ch]: renamed brush_core->grr_brush
to brush_core->main_brush and reset brush_core->brush
to brush_core->main_brush in GimpPaintCore::post_paint().
* app/paint/gimpbrushcore.c
* app/paint/gimppaintcore-stroke.c
* app/tools/gimppainttool.c: removed all code which restores
the brush_core's old brush after painting since post_paint()
does this automatically now.
* app/paint/gimpclone.[ch]: moved static variables to the
GimpClone struct.
2004-06-14 Michael Natterer <mitch@gimp.org>
* app/tools/gimpperspectivetool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c: removed calls to
gimp_transform_tool_expose_preview() from all
GimpTransformTool::motion() implementations...
* app/tools/gimptransformtool.c: ...and call it after calling
tr_tool_class->preview().
2004-06-14 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.[ch]: remember the last used
GimpCursorFormat so changing the format in prefs applies
instantly, and not after the next tool change.
* app/display/gimpdisplayshell-cursor.[ch]
* app/tools/gimptool.[ch]
* app/tools/gimptoolcontrol.[ch]
* app/tools/gimpclonetool.c
* app/tools/gimpcolortool.c
* app/tools/gimpcroptool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimptransformtool.c: s/GdkCursorType/GimpCursorType/g
2004-06-14 Philip Lafleur <plafleur@cvs.gnome.org>
* app/tools/gimptransformtool.c (gimp_transform_tool_doit): Preview
wasn't being turned off before performing a transformation. Also
converted tabs to spaces.
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-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 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-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-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-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-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-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.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/tools/gimppainttool.c (gimp_paint_tool_button_press): check
if the GimpPaintCore really is a GimpBrushCore before catsting and
fiddling with internaly.
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-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-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-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 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-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 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-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>
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>
Treat FG/BG just like all other context properties:
* app/paint/gimppaintoptions.h: added GIMP_CONTEXT_FOREGROUND_MASK
and _BACKGROUND_MASK to GIMP_PAINT_OPTIONS_CONTEXT_MASK to specify
that they are used by GimpPaintOptions (automatically affects all
paint tools).
* app/tools/gimpblendtool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimpinktool.c: set FOREGROUND_MASK and BACKGROUND_MASK
manually here.
* app/tools/tool_manager.c (tool_manager_tool_changed): decide
about the globality of FG and BG at the same place where we decide
about the brush's, pattern's etc. globality, but hardcode them to
global = TRUE instead of looking at GimpConfig.
Fixes bug #141786.
2004-04-30 Pedro Gimeno <pggimeno@wanadoo.es>
* app/tools/gimprectselecttool.c: Cleanups.
(gimp_rect_select_tool_coords_to_integer): Undo my bogus fix for
bug #138103, which led to bug #140649.
* app/pdb/procedural_db.c (procedural_db_init_procs): Add missing
compat procs: gimp_channel_ops_duplicate, gimp_channel_ops_offset.
2004-04-29 Michael Natterer <mitch@gimp.org>
* app/tools/gimp*tool.c (gimp_*_tool_register): stripped the menu
paths from the "menu_path". Will be renamed to "action_name" or
something soon...
* plug-ins/dbbrowser/dbbrowser.c
* plug-ins/common/plugindetails.c
* plug-ins/common/uniteditor.c: register under the new
"Extensions" placeholder.
2004-04-29 Michael Natterer <mitch@gimp.org>
Switch from GtkItemFactory to GtkUIManager. The migration is
almost complete, still stuff missing/incomplete, definitely added
a bunch of new bugs...
* app/actions/*-commands.[ch]: converted all callback from
GtkItemFactory callbacks to GtkAction callbacks.
* app/actions/debug-actions.c
* app/actions/gradient-editor-actions.c
* app/actions/help-actions.c
* app/actions/plug-in-actions.c
* app/actions/qmask-actions.c
* app/actions/tool-options-actions.c: various fixes.
* app/display/gimpdisplay.[ch]
* app/display/gimpdisplayshell-appearance.[ch]
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.[ch]: move everything from
GtkItemFactory to GtkUIManager.
* app/gui/dialogs.[ch]: added new function dialogs_get_toolbox().
Needed because the action callbacks don't have a widget parameter
and sometimes we need a parent window for showing dialogs.
* app/gui/Makefile.am
* app/gui/brushes-menu.[ch]
* app/gui/buffers-menu.[ch]
* app/gui/channels-menu.[ch]
* app/gui/colormap-editor-menu.[ch]
* app/gui/dialogs-menu.[ch]
* app/gui/documents-menu.[ch]
* app/gui/error-console-menu.[ch]
* app/gui/fonts-menu.[ch]
* app/gui/gradient-editor-menu.[ch]
* app/gui/gradients-menu.[ch]
* app/gui/images-menu.[ch]
* app/gui/layers-menu.[ch]
* app/gui/palette-editor-menu.[ch]
* app/gui/palettes-menu.[ch]
* app/gui/patterns-menu.[ch]
* app/gui/qmask-menu.[ch]
* app/gui/templates-menu.[ch]
* app/gui/vectors-menu.[ch]: removed these files.
* app/gui/gui.c: create a global UI manager for the image popup
menu and the toolbox menubar.
* app/gui/menus.[ch]: removed all GtkItemFactory code.
* app/gui/image-menu.[ch]
* app/gui/toolbox-menu.[ch]: removed everything except the trivial
setup_funcs.
* app/gui/file-open-menu.c
* app/gui/file-save-menu.c
* app/gui/tool-options-menu.c: don't use the macros from menus.h
any more, they are gone.
* app/gui/gui-vtable.c
* app/gui/plug-in-menus.[ch]: create/destroy the dynamic plug-in
menu entries.
* app/tools/gimpimagemaptool.c: s/gimp_item_factory_update/
gimp_ui_manager_update/g
* app/widgets/gimpuimanager.[ch]: added API to get an action
group by name.
* app/widgets/gimpmenufactory.c: don't choke on the item_factory
entries being NULL.
* app/widgets/gimpactiongroup.c: make sure booleans set using
g_object_set() only have TRUE or FALSE values.
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpdockable.[ch]
* app/widgets/gimpdocked.[ch]
* app/widgets/gimpeditor.[ch]
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimptoolbox.c
* app/widgets/gimptooloptionseditor.c: removed all GtkItemFactory
code and enable the #if 0'ed UI manager stuff.
* menus/gradient-editor-menu.xml: fixed typos.
* menus/image-menu.xml: duplicate everything so we have both
an image menubar and an image popup menu. Badly cries for an
XSL processor.
* menus/toolbox-menu.xml: added an "Extensions" placeholder.
2004-04-21 Michael Natterer <mitch@gimp.org>
* app/actions/qmask-actions.c
* app/actions/qmask-commands.c: prepared qmask_actions_update()
and the qmask callbacks to be merged into the image ui manager.
* app/actions/dialogs-actions.c
* app/actions/edit-actions.c
* app/actions/file-actions.c
* app/actions/image-actions.c
* app/actions/layers-actions.c
* app/actions/plug-in-actions.c
* app/actions/tools-actions.c
* app/actions/view-actions.c: fixed lots of typos and buglets
spotted in my first test run.
* app/gui/menus.c: register the needed action groups with the
<Image> menu.
* app/tools/gimp-tools.c
* app/tools/gimpdodgeburntool.[ch]
* app/tools/gimppaintoptions-gui.c: s/dodgeburn/dodge_burn/g.
* app/widgets/gimpactionfactory.c
* app/widgets/gimpmenufactory.[ch]: s/G_GNUC_FUNCTION/G_STRFUNC/g,
updated copyright header.
* menus/image-menu.xml: fixed typos and added the "Filters"
submenus.
2004-04-20 Sven Neumann <sven@gimp.org>
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/gimpintstore.[ch]: added a GimpIntStore, derived
from GtkListStore, to be used by GimpIntComboBox and also by the
image and drawable menus.
* libgimpwidgets/gimpintcombobox.c: use the new GimpIntStore.
* app/widgets/gimpenumstore.[ch]: derive from GimpIntStore,
removed API that is provided by the parent class.
* app/widgets/gimpenumcombobox.[ch]: derive from GimpIntComboBox,
removed API that is provided by the parent class.
* app/gui/resize-dialog.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimpcolorframe.c
* app/widgets/gimphistogrameditor.c
* app/widgets/gimppropwidgets.c
* app/widgets/gimpstrokeeditor.c: changed accordingly.
2004-04-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimpenumstore.[ch]: avoid unnecessary casts.
* app/widgets/gimpenumcombobox.[ch]: added an API that inserts a
GtkTreeModelFilter to make items invisible. This is a kludge to
workaround bug #135875.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimphistogrameditor.c: use the new function to hide
histogram channels that are not available with the current
drawable.
2004-04-16 Sven Neumann <sven@gimp.org>
* app/tools/gimpcolorpickertool.c
* app/tools/gimpmeasuretool.c: don't use gtk_window_present() to
raise the tool dialog since it also moves the focus away from the
image window. Fixes the problem described in bug #139349.
2004-04-15 Sven Neumann <sven@gimp.org>
* app/tools/gimpcropoptions.[ch]
* app/tools/gimpcroptool.[ch]: applied a patch from Jordi Gay that
allows to keep the aspect ratio fixed.
2004-04-15 Michael Natterer <mitch@gimp.org>
* app/core/gimplayermask.c (gimp_layer_mask_class_init): set
translate_desc to "Move Layer Mask".
* app/tools/gimpeditselectiontool.c: take the undo desc
from the moved item's class instead of duplicating all
strings here.
2004-04-13 Michael Natterer <mitch@gimp.org>
Moved the calls to floating_sel_relax()/rigor() from various
places to two single spots in the core where they are actually
needed. Fixes bug #138356 (which was caused by the projection
being triggered in the middle of changing the floating selection's
size or the size of the drawable it is attached to). This commit
effectively removes floating selection fiddling from the core's
public API.
* app/core/gimpdrawable.[ch] (gimp_drawable_has_floating_sel): new
function which returns TRUE if there is a floating selection
attached to the drawable.
* app/core/gimpdrawable.c (gimp_drawable_translate)
(gimp_drawable_set_tiles_full): if the drawable *has* a floating
selection, relax/rigor it before/after modifying the drawable.
* app/core/gimplayer.c (gimp_layer_translate)
(gimp_layer_set_tiles): if the layer *is* the floating selection,
relax/rigor it before/after modifying it.
* app/core/gimpdrawable-transform.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-crop.c
* app/core/gimpimage-flip.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c
* app/gui/layers-commands.c
* app/tools/gimpeditselectiontool.c
* tools/pdbgen/pdb/layer.pdb: removed calls to
floating_sel_rigor()/relax() all over the place. Also removed
lots of undo groups which are obsolete now.
* app/pdb/layer_cmds.c: regenerated.
2004-04-10 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.c (gimp_text_tool_apply): push an undo
group only when it's needed. This resurrects text undo compression
that broke when bug #137767 got fixed.
2004-04-05 Pedro Gimeno <pggimeno@wanadoo.es>
Sanitize rectangle and ellipse selection handling (bug #138237
and bug #138103):
* app/tools/gimprectselecttool.h
* app/tools/gimprectselecttool.c (GimpRectSelectTool): new
member "moved" indicating whether the cursor was moved after
the click.
(gimp_rect_select_tool_coords_to_integer): New function for
consistent conversion of the rectangle FP coords to pixels.
(gimp_rect_select_tool_button_press,
gimp_rect_select_tool_button_release,
gimp_rect_select_tool_motion, gimp_rect_select_tool_draw): use
it instead of fiddling with the FP coordinates. Update "moved"
and use it to detect whether the selection needs to be cleared.
* app/tools/gimpellipseselecttool.c
(gimp_ellipse_select_tool_draw): use the new coords_to_integer
function.
2004-04-01 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch] (enum GimpUndoType): added undo type
GIMP_UNDO_TEXT_LAYER_MODIFIED and undo group types
GIMP_UNDO_GROUP_DRAWABLE and GIMP_UNDO_GROUP_DRAWABLE_MOD.
* app/core/gimpimage-undo-push.[ch]: added new new function
gimp_image_undo_push_text_layer_modified() which makes
modifications of the text_layer's "modified" boolean undoable.
* app/core/gimpdrawable.[ch]: added new virtual function
GimpDrawable::push_undo() and moved the actual undo pushing into
the default implementation gimp_drawable_real_push_undo().
* app/text/gimptextlayer.c (gimp_text_layer_push_undo): new
function. Pushes the text_layer's modified state to the undo stack
after upchaining and sets modified to TRUE.
(gimp_text_layer_set_tiles): ditto.
(gimp_lext_layer_apply_region)
(gimp_text_layer_replace_region): removed because their default
implementations already call gimp_drawable_push_undo().
(gimp_text_layer_swap_pixels): removed because swap_pixels() is
used by undo only and doesn't need to care about the text_layer's
modified state.
(gimp_text_layer_render): don't set modified to FALSE here because
we can't push an undo step here.
(gimp_text_layer_set): push the modified state to the undo stack
and set it to FALSE here. Also push the layer's tiles if the
layer was modified.
* app/tools/gimptexttool.c (gimp_text_tool_apply): push "modified"
to the undo stack and set it to FALSE here, too.
Fixes bug #137767.
2004-03-31 Simon Budig <simon@gimp.org>
* app/tools/gimptransformtool.c: One really should use braces
when mixing additions and multiplication and the operator
precedence is not the desired one...
I feel stupid... :-)
2004-03-25 Manish Singh <yosh@gimp.org>
* libgimp/gimp.c
* app/plug-in/plug-in-shm.c: close the shm_open fd in the POSIX
shm case. We were leaking an fd here.
2004-03-22 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.c: keep the text editor open as long as
the text tool is connected to a text layer. Open the text editor
when a text layer is activated in the layers dialog.
2004-03-22 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.[ch]: preserve the text tool on image
changes. Instead connect to the text layer's "notify::modified"
signal and disconnect from the layer when it is modified.
Fixes bug #137890.
2004-03-21 Sven Neumann <sven@gimp.org>
* app/core/gimpundo.[ch]: added gimp_undo_type_to_name() a similar
function used to live in gimpimage-undo.[ch].
* app/core/gimpitemundo.c (gimp_item_undo_new): allow NULL as name
and generate it from the undo_type then.
* app/core/gimpimage-undo.[ch]: added gimp_image_undo_push_undu(),
new function that allows to push an undo on the image.
* app/text/Makefile.am
* app/text/text-types.h
* app/text/gimptextundo.[ch]: added GimpTextUndo, derived from
GimpItemUndo.
* app/core/gimpimage-undo-push.c (gimp_image_undo_push_text_layer):
use the new code and simply push a text undo here.
* app/tools/gimptexttool.c: compress text undos by peeking at the
undo stack. Fixes bug #137766.
2004-03-20 Pedro Gimeno <pggimeno@wanadoo.es>
Fixed several off-by-one problems in display:
* app/display/gimpdisplayshell.h (PROJ_ROUND): New macro to apply
to a float the same rounding method as the one used when rendering.
(SCALEX, SCALEY): Use PROJ_ROUND instead of truncating.
* app/display/gimpdisplayshell-transform.c
(gimp_display_shell_transform_xy): Accept gdouble image coordinates
even if the returned screen coordinates are integer. Use PROJ_ROUND
instead of (gint) to apply proper rounding. Fixes bug #137566.
* app/display/gimpdisplayshell-transform.h
(gimp_display_shell_transform_xy): changed accordingly.
* app/display/gimpdisplayshell-draw.c
* app/tools/gimpdrawtool.c: make sure everywhere that PROJ_ROUND
is used either directly or through gimp_display_shell_transform_xy,
instead of using arbitrary rounding methods.
2004-03-20 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.c (gimp_text_tool_create_vectors): don't
take the image from tool->gdisp, this might be a NULL pointer.
* app/core/gimpimage-undo-push.c: removed debugging output.
2004-03-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.c (gimp_prop_size_entry_callback):
avoid to set the unit property with every size change; only set it
if it actually changed.
* app/core/gimpimage-undo-push.c (gimp_image_undo_push_text_layer):
allow to pass a GParamSpec that identifies a single text property
to be changed. In this case, don't store a GimpText object on the
undo stack but only the changed value.
* app/tools/gimptexttool.c: use the new undo feature to reduce the
memory footprint of text undo for the common case.
* app/text/gimptextlayer.c: changed accordingly.
2004-03-20 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.c: Assigned "b" as the default shortcut
for the path tool ("Bezier").
Fixes bug #137753.
2004-03-20 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.c: update the text editor when the text
changes (for example when undoing text changes). Push a drawable
undo when applying text changes to a modified text layer.
2004-03-20 Simon Budig <simon@gimp.org>
* app/core/gimpundo.[ch]: Make it possible to refresh the preview
of an undo step.
* app/tools/gimpeditselectiontool.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c: refresh the preview when
compressing undos. This ensures that the last preview in the undo
history always reflects the current state of the image.
2004-03-20 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-undo-push.c (undo_pop_text_layer): don't
exchange the text_layer's text object but sync it with the text
object from the undo step.
* app/text/gimptextlayer.c (gimp_text_layer_set): in case the
layer has a mask, push an undo group around the text modifications.
* app/tools/gimptexttool.c (gimp_text_tool_idle_apply): push a
text layer undo before applying the text changes.
2004-03-19 Sven Neumann <sven@gimp.org>
* app/text/gimptextlayer.c (gimp_text_layer_render): if there's a
layer mask, resize it with the layer.
* app/tools/gimptexttool.c: don't change text_tool->layer before
calling gimp_text_tool_connect().
2004-03-19 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.[ch]: added a confirmation dialog that is
shown when the user attempts to modify a modified text layer.
2004-03-19 Michael Natterer <mitch@gimp.org>
* app/gui/color-notebook.c (color_notebook_new)
* app/tools/gimpcroptool.c (crop_info_create)
* app/tools/gimptransformtool.c (gimp_transform_tool_dialog):
explicitely set a default response for dialog buttons which were
created using gtk_dialog_add_buttons().
2004-03-18 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-dnd.c (gimp_display_shell_bucket_fill):
added a missing call to gimp_image_flush().
* app/tools/gimptexttool.c: propagate text changes to the tool
options.
* app/text/gimptextlayer.c: made "text", "auto-rename" and
"modified" properties of the text layer and copy them when
duplicating a text layer.
* app/text/gimptextlayer-xcf.[ch]: added utility functions to
convert the new properties to flags to be saved in the XCF file.
* app/xcf/xcf-load.c
* app/xcf/xcf-private.h
* app/xcf/xcf-save.c: load and save text layer properties.
Disabled warnings about unknown properties for stable branches.
2004-03-15 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.c (gimp_text_tool_apply): look ahead in
the queue of pending changes and compress changes to the same
property. Fixed a couple of smaller issues.
* app/widgets/gimpwidgets-utils.c: corrected indentation.
2004-03-15 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.c (gimp_drawable_set_tiles_full): emit
"update" signals from the drawable before and after setting tiles
and offsets.
* app/core/gimpdrawable-offset.c (gimp_drawable_offset)
* app/core/gimpdrawable-transform.c (gimp_drawable_transform_paste)
* app/core/gimpimage-undo-push.c (undo_pop_layer_mod, _channel_mod)
* app/text/gimptextlayer.c (gimp_text_layer_render)
* app/tools/gimptransformtool.c (gimp_transform_tool_doit):
removed calls to gimp_drawable_update().
* app/core/gimpdrawable-offset.c (gimp_drawable_offset): don't
push an undo step before calling gimp_drawable_set_tiles()
but simply pass push_undo == TRUE and the undo_desc.
2004-03-15 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.[ch]: added "offset_x" and "offset_y"
parameters to GimpDrawable::set_tiles().
(gimp_drawable_set_tiles): removed the "GimpImageType" parameter.
(gimp_drawable_set_tiles_full): new function adding type, offset_x
and offset_y parameters.
(gimp_drawable_real_set_tiles): set the drawable's offsets from
the offset parameters and its size from the passed TileManager's
size. Emit "size_changed" accordingly.
* app/core/gimpchannel.c
* app/core/gimpdrawable-offset.c
* app/core/gimpdrawable-transform.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-undo-push.c
* app/core/gimplayer.c
* app/text/gimptextlayer.c
* app/tools/gimptransformtool.c: changed accordingly: removed
calls to gimp_viewable_size_changed() and all sorts of hackish
assignments of the drawable's width/height/offset_x/offset_y
properties.
2004-03-15 Michael Natterer <mitch@gimp.org>
* app/text/gimptextlayer.c (gimp_text_layer_render): don't call
gimp_image_flush().
* app/tools/gimpxttool.c (gimp_text_tool_apply): call it here
instead.
Now that we have a common place that exchanges drawable->tiles,
we can abstract away boundary invalidation for this operation:
* app/core/gimpdrawable.c (gimp_drawable_real_set_tiles):
call gimp_drawable_invalidate_boundary() before setting
the new tiles.
* app/core/gimpchannel.c (gimp_channel_set_tiles)
* app/core/gimpdrawable-transform.c (gimp_drawable_transform_paste)
* app/core/gimpimage-undo-push.c (undo_pop_layer_mod)
* app/core/gimplayer.c (gimp_layer_scale) (gimp_layer_resize)
(gimp_layer_flip) (gimp_layer_rotate) (gimp_layer_transform)
* app/text/gimptextlayer.c (gimp_text_layer_render): removed
calls to gimp_drawable_invalidate_boundary() from all functions
which finally call gimp_drawable_real_set_tiles().
* app/tools/gimptransformtool.c (gimp_transform_tool_doit): no
need to set channel->bounds_known to FALSE, because
gimp_drawable_set_tiles() already did this.
2004-03-14 Sven Neumann <sven@gimp.org>
* app/text/gimptextlayer.[ch]: removed all idle handling here.
Changes to the text-layer's text object all applied synchronously.
* app/display/gimpdisplayshell-dnd.c
* app/text/gimptextlayer-transform.c: removed now obsolete calls
to gimp_text_layer_flush().
* app/tools/gimptexttool.[ch]: queue up changes to the proxy text
object and apply them in one go from a low-priority idle handler.
This is basically what GimpTextLayer used to do.
2004-03-14 Sven Neumann <sven@gimp.org>
* app/tools/gimptextoptions.[ch]
* app/tools/gimptexttool.[ch]: introduced a proxy GimpText object
that is tied to the GimpTextOptions for the lifetime of the text
tool. Brings us one step closer to text undo...
2004-03-13 Michael Natterer <mitch@gimp.org>
Completed the fix for bug #136702:
* app/core/gimpitem.[ch]: added "gboolean supersample" and
"gint recursion_level" to GimpItem::transform().
* app/core/gimpitem-linked.[ch] (gimp_item_linked_transform): ditto.
* app/core/gimpdrawable-transform.[ch]: added "recursion_level"
parameters and removed the RECURSION_LEVEL #define.
* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimplayer.c
* app/vectors/gimpvectors.c: changed accordingly.
* app/tools/gimptransformoptions.[ch]: added new property
"recursion_level" which is not serializable and has no GUI. Pretty
useless, but it's IMHO better to hardcode the default value here
than in gimpdrawable-transform.c
* app/tools/gimptransformtool.c: changed accordingly.
* tools/pdbgen/pdb/transform_tools.pdb: hardcode "recursion_level"
to 3.
* app/pdb/transform_tools_cmds.c: regenerated.
2004-03-13 Sven Neumann <sven@gimp.org>
* app/tools/gimpblendoptions.c: override the "gradient_repeat"
property inherited from GimpPaintOptions and set the default to
GIMP_REPEAT_NONE. Seems more appropriate for the blend tool.
2004-03-13 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable.[ch]: added new virtual function
GimpDrawable::set_tiles().
* app/core/gimpchannel.c
* app/core/gimplayer.c: push an undo before chaining up in
set_tiles().
* app/core/gimpdrawable-transform.c
* app/core/gimpimage-convert.c
* app/tools/gimptransformtool.c: use gimp_drawable_set_tiles()
instead of fiddling with the drawable's tile manager directly.
2004-03-13 Sven Neumann <sven@gimp.org>
* app/tools/gimptransformoptions.c (gimp_transform_options_gui): for
consistency, changed the label from "Supersample" to "Supersampling".
2004-03-13 Raphael Quinet <quinet@gamers.org>
* app/tools/gimptransformoptions.[ch]: added new "supersample"
property to GimpTransformOptions and added corresponding check
button in the option dialog for the transform tools.
* app/core/gimpdrawable-transform.[ch],
* app/core/gimpdrawable.c,
* app/tools/gimptransformtool.c: new "gboolean supersample"
parameter added to gimp_drawable_transform_tiles_affine() and
gimp_drawable_transform_affine().
* tools/pdbgen/pdb/transform_tools.pdb: ditto. For the PDB calls,
the supersample parameter is set to FALSE for "rotate" and "shear"
and set to TRUE for "perspective", "scale" and "transform_2d".
* app/pdb/transform_tools_cmds.c: regenerated.
The new "supersample" option lets the user decide if the
transformations should use supersampling (RECURSION_LEVEL 3) or
not. This fixes both bug #136702 and bug #109817. Hopefully for
good, this time.
2004-03-13 Raphael Quinet <quinet@gamers.org>
* app/tools/gimptexttool.c (gimp_text_tool_set_layer): added
missing semicolon that was breaking the build.
2004-03-13 Sven Neumann <sven@gimp.org>
* app/tools/gimptextoptions.[ch]: use a GimpSizeEntry for the
font size.
* app/tools/gimptexttool.c: set the size entry's resolution to the
image resolution. Fixes bug #118356.
2004-03-13 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.[ch]: keep a pointer on the active text
layer and let the tool follow the active layer. Fixes bug #124970.
* app/gui/layers-commands.c: changed accordingly.
2004-03-12 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.c (gimp_text_tool_editor): always connect
the "text_changed" signal so text layers can be edited again.
2004-03-11 Sven Neumann <sven@gimp.org>
* app/tools/gimptextoptions.c (gimp_text_options_create_text):
set the color of the new text from the context foreground color.
2004-03-11 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-utils.c: made gimp_config_sync() and
gimp_config_connect() also work on objects of different types.
Properties with the same name and the same type are synced /
connected.
* app/core/gimpcontext.[ch]: added convenience functions to get/set
the font by name.
* app/tools/gimptextoptions.[ch]: don't hold a GimpText object
that duplicates properties like font and color which are in
GimpContext already. Instead added all text properties that are
controlled from the text tool options. Handling of the foreground
color is somewhat broken and needs a GimpContext wizard (Mitch!).
* app/text/gimptext.c: blurbs are not any longer needed now that
the property widgets are created from the GimpTextOptions.
* app/tools/gimptexttool.c: changed accordingly.
* app/widgets/gimptexteditor.[ch]: use an internal GtkTextBuffer
and emit "text-changed" when it changes.
2004-03-10 Simon Budig <simon@gimp.org>
* app/base/cpu-accel.c
* app/display/gimpdisplayshell-dnd.c
* app/tools/gimpvectortool.c
* app/vectors/gimpbezierstroke.c
* app/vectors/gimpvectors-import.c: Removed, disabled or
conditionalized some debug output.
There still is debug output when pushing/popping the move tool
via space bar. Mitch wanted to look at that.
2004-03-10 Michael Natterer <mitch@gimp.org>
* app/tools/tool_manager.c (tool_manager_image_dirty): don't
reinitialize the tool when the image becomes dirty but just cancel
it (fixes bug #131965). Also, only cancel the tool if the tool is
operating on one of the dirtied image's displays (fixes bug #12253).
2004-03-09 Michael Natterer <mitch@gimp.org>
* app/tools/gimpmovetool.c (gimp_move_tool_button_press): redid my
last layer_mask vs. layer move fix by reordering the whole
function: now we first check if we can pick a path, guide or layer
and bail out early if we can't; do the actual init_edit_selection()
calls in a trivial unconditional switch() after that picking
check. Removes code duplication and makes the whole function less
nested and weird.
Cleaned up the whole file a bit.
2004-03-05 Sven Neumann <sven@gimp.org>
* app/tools/gimplevelstool.c: compute the slider positions in the
expose event handler so that the sliders get positioned correctly
when the dialog is resized.
2004-03-05 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/tools/gimpthresholdtool.c: added buttons to toggle the
histogram scale from the tool dialogs. Fixes bug #136227.
2004-03-04 Michael Natterer <mitch@gimp.org>
* app/tools/gimpmovetool.c (gimp_move_tool_button_press): if we
pick a layer to move and this layer has a mask which is being
edited (active), start moving the mask, not the layer.
2004-03-04 Sven Neumann <sven@gimp.org>
* app/config/gimprc-blurbs.h: marked new strings for translation.
* libgimpwidgets/gimpstock.h: added #defines for missing icons.
This allows us to replace them later without changing the API.
* app/gui/dialogs-constructors.c
* app/gui/dialogs-menu.c
* app/gui/gradient-editor-commands.c
* app/gui/image-menu.c
* app/gui/toolbox-menu.c
* app/tools/gimppaintoptions-gui.c
* app/tools/gimptextoptions.c
* app/widgets/gimppaletteeditor.c: use the new stock icon names
instead of abusing GTK+ and GIMP tool stock icons.
* app/gui/preferences-dialog.c (prefs_dialog_new): added icons
to the new check buttons.
2004-03-04 Michael Natterer <mitch@gimp.org>
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h: added boolean properties
"global-brush", "global-pattern" etc.
* app/gui/preferences-dialog.c: added GUI for them to the
"Tool Options" page.
* app/tools/tool_manager.c (tool_manager_tool_changed): honor the
new prefs options when copying the new tool's properties.
Fixed bug #122519.
2004-03-02 Michael Natterer <mitch@gimp.org>
* app/tools/gimpeditselectiontool.c
* app/widgets/gimplayertreeview.c: compress undo steps only
if the redo stack is empty.
2004-02-29 Sven Neumann <sven@gimp.org>
* app/tools/gimpblendoptions.c: changed the upper limit for the
supersampling depth from 10 to 6 (as a workaround for bug #133266).
2004-02-25 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c: cleanup.
* app/tools/gimplevelstool.c (gimp_levels_tool_dialog): added 2px
spacing between the pick buttons and their entries.
2004-02-25 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.[ch]: moved "shell_desc" from
GimpImageMapTool to GimpImageMapToolClass and added
"load_dialog_title" and "save_dialog_title". Create the
load/save buttons in gimp_image_map_tool_initialize() and
remember them in the GimpImageMapTool struct. Moved the
whole load/save button/dialog logic into private functions.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c: changed accordingly, removed
load/save callbacks, inlined the load/save functions into
GimpImageMapTool's virtual function implementations.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorizetool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: changed accordingly.
2004-02-25 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.[ch]
* app/tools/gimpimagemapoptions.[ch]
* app/tools/gimpimagemaptool.[ch]
* app/tools/gimplevelstool.[ch]: moved the settings file dialog
that was duplicated in the curves and levels tools to the
GimpImageMapTool class. Store the last used filename in the
GimpImageMapOptions (proper fix for bug #135059).
2004-02-24 Dave Neary <bolsh@gimp.org>
* app/tools/gimpcurvestool.c: Revert to 1.2 behaviour of hiding
rather than destroying the curves load/save dialog. This makes
the last selected curve be selected when the dialog is
re-opened, and fixes bug #135059.
Also append G_DIR_SEPARATOR_S to the end of the filename we
build while creating the dialog, rather than ".".
2004-02-23 Simon Budig <simon@gimp.org>
* app/tools/gimpinktool-blob.c: don't access the array before
checking if the index is within the valid bounds...
2004-02-22 Sven Neumann <sven@gimp.org>
Let all GimpImageMap tools remember the state of the preview toggle
(bug #135059):
* app/tools/Makefile.am
* app/tools/gimpimagemapoptions.[ch]
* app/tools/tools-types.h: added new GimpToolOptions class to hold
the preview setting.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorizetool.c
* app/tools/gimpcoloroptions.[ch]
* app/tools/gimphuesaturationtool.c
* app/tools/gimpimagemaptool.[ch]
* app/tools/gimpposterizetool.c
* app/tools/tools-types.h: use the new class.