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).