2003-02-21 Manish Singh <yosh@gimp.org>
* configure.in: remove perl stuff
The actual code has been removed from CVS as well, and moved to the
gimp-perl module.
2003-02-21 Manish Singh <yosh@gimp.org>
* app/gui/about-dialog.c
* app/widgets/gimpimagefilepreview.c
* app/widgets/gimptoolbox-color-area.c: use gdk_draw_pixbuf with
GTK+ 2.2 or higher instead of gdk_pixbuf_render_to_drawable.
That function will be deprecated in GTK+ 2.4. We should remove the
fallback at some point when we start depending on GTK+ 2.2 for other
stuff.
2003-02-21 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplay-foreach.[ch]: added new function
gimp_displays_invalidate() which queues a redraw on all displays
by calling gimp_display_shell_expose_full().
* app/display/gimpdisplayshell-render.c (render_setup_notify):
invalidate all displays when the transparency type or size changes.
* app/tools/gimptexttool.c (text_tool_button_press): readded some
code I accidentally removed in my last commit.
* app/text/gimptextlayout.c (gimp_text_layout_new): always set the
font size but make sure it is at least 1.
2003-02-21 Sven Neumann <sven@gimp.org>
* app/widgets/gimpviewabledialog.c: added missing cast.
* app/widgets/gimpcontainertreeview.c: do not include a non-existant
header file.
2003-02-21 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-scroll.c (gimp_display_shell_scroll):
don't wait for graphics expose events. Commented out the call to
gimp_display_shell_scale_setup() since it should not be needed.
2003-02-21 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-render.c (render_image_rgb):
replaced a for-loop with a call to memcpy().
* app/display/gimpdisplay.c: use g_memdup() instead of g_new()
followed by memcpy().
2003-02-21 Michael Natterer <mitch@gimp.org>
* app/tools/gimptransformoptions.c
(gimp_transform_options_class_init): the default value of "clip"
is FALSE, not TRUE. Fixes bug #106644.
2003-02-21 Michael Natterer <mitch@gimp.org>
Refactored the GimpDisplayShell update/draw code:
* app/display/gimpdisplayshell.[ch]: removed the display_areas
list which used to hold the GimpAreas to update. Instead, simply
queue draws using gtk_widget_queue_draw[_area]() in
gimp_display_shell_expose_area(), _expose_full() and
_expose_guide(). Made all _draw() functions public because they
are now called from the "expose_event" handler. Removed rendering
from gimp_display_shell_flush() because stuff is now flushed
automatically by the gtk idle renderer.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_expose): draw everything here (the code
removed from gimp_display_shell_flush() without the GimpArea list).
(gimp_display_shell_canvas_tool_events): return "return_val", not
TRUE if gimp->busy is TRUE. Fixes unupdated (windowk bg color)
display areas. Fixes bug #106595.
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell-cursor.c
* app/display/gimpdisplayshell-filter-dialog.c
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-selection.c
* app/gui/view-commands.c: changed accordingly. Removed calls to
gimp_display_shell_flush() all over the place.
* app/display/gimpdisplayshell-scroll.c: replaced lots of code by
a single call to gdk_window_scroll().
2003-02-21 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-utils.[ch] (gimp_table_attach_stock):
added a colspan parameter and fixed packing of the stock icon.
* app/tools/gimpselectionoptions.c
* app/tools/gimptextoptions.c: improved dialog layout.
2003-02-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimpfontselection-dialog.c
* app/widgets/gimpfontselection.c: connect the dialog to the font
selection widget and block the signal handler when the font is
changed from the dialog. Fixes weird behaviour noted by Jimmac.
2003-02-20 Sven Neumann <sven@gimp.org>
* libgimpbase/gimputils.c (gimp_utf8_strtrim): trim the string
only if necessary.
* app/text/gimptext.c: changed the default text to NULL.
* app/widgets/gimptexteditor.[ch]: replaced Cancel and OK buttons
with a single Close button and removed the callback.
* app/widgets/gimppropwidgets.c: gtk_text_buffer_set_text()
doesn't like NULL pointers, pass it an empty string instead.
* app/tools/gimptexttool.c: create a new text layer as soon as the
user starts editing.
2003-02-20 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpimageeditor.[ch]: new GimpEditor subclass adding
a GimpImage pointer and a virtual set_image() function.
* app/widgets/gimpcolormapeditor.[ch]
* app/widgets/gimpselectioneditor.[ch]
* app/widgets/gimpundoeditor.[ch]: derive them from GimpImageEditor.
Removed the public set_image() functions.
* app/gui/colormap-editor-commands.c
* app/gui/colormap-editor-menu.c: changed accordingly.
* app/gui/dialogs-constructors.c: removed lots of code duplication
and use the uniform GimpImageEditor API. Misc cleanups.
2003-02-20 Michael Natterer <mitch@gimp.org>
Reimplemented the undo history:
* app/Makefile.am
* app/undo_history.[ch]: removed.
Changes/cleanups to the undo system to enable/simplify the new
undo history implementation:
* app/core/core-types.h: removed enum undo_event_t. Removed the
GimpImage parameter from GimpUndoPopFunc and GimpUndoFreeFunc
because GimpUndo has a GimpImage pointer now (see below).
* app/core/core-enums.[ch]: added enum GimpUndoEvent. Added an
enum value for REDO_EXPIRED.
* app/core/gimpimage.[ch]: added a GimpUndo pointer to the
"undo_event" signal which needs to be passed for all events except
UNDO_FREE.
* app/display/gimpdisplayshell-handlers.c: changed accordingly.
* app/core/gimpundo.[ch]: added a GimpImage pointer to the
GimpUndo struct. Removed GimpImage parameters all over the
place. Added preview stuff. The preview creation needs to be
triggered explicitly using gimp_undo_create_preview() because the
GimpUndo can't know when it's possible to create the preview.
* app/core/gimpimage-undo-push.c
* app/paint/gimppaintcore-undo.c
* app/tools/gimptransformtool-undo.c: changed accordingly, cleanup.
* app/core/gimpundostack.[ch]: ditto. Return the freed undo from
gimp_undo_stack_free_bottom(). Removed unused container signal
handlers.
* app/core/gimpimage-undo.c: free the redo stack the same way old
undos are freed (from bottom up). Emit "undo_event" with event ==
REDO_EXPIRED for each removed redo.
* app/core/gimpmarshal.list: added new marshallers.
New undo history implementation:
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpundoeditor.[ch]
* app/widgets/gimpundopreview.[ch]: new widgets for the undo
step previews and the history itself.
* app/widgets/gimppreview-utils.c: added GimpUndoPreview to the
list of possible preview types.
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs-menu.c
* app/gui/dialogs.c
* app/gui/image-menu.c
* app/gui/toolbox-menu.c: removed the old and added the new undo
history to the dialog factory and the various dialog menus.
* app/widgets/gimpdnd.[ch]: don't warn if a GType has no
corresponding DND type. Instead, return FALSE from the function
that failed.
* app/widgets/gimppreview.c: check the return value of gimpdnd
functions. Not only add drag sources but also remove them when no
longer needed.
* app/widgets/gimpselectioneditor.h: removed unneeded inclusion of
"gui/gui-types.h".
2003-02-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.[ch]: added a new widget constructor
gimp_prop_opacity_entry_new() which is a scale entry with a display
factor of 100.0.
* app/tools/paint_options.c: use the new opacity scale for opacity
controls.
2003-02-19 Sven Neumann <sven@gimp.org>
* Makefile.am
* structure.xml: started to work on a document that outlines the
directory structure of the GIMP source tree.
2003-02-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppropwidgets.[ch]: added gimp_prop_preview_new().
* app/tools/gimpblendoptions.c
* app/tools/paint_options.c: use it.
2003-02-18 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/procedural_db.pdb
* app/pdb/procedural_db_cmds.c: use regfree() to free the regex
pattern buffer.
* app/widgets/gimpdnd.c (gimp_dnd_data_dest_add): unref the
GtkTargetList after adding it to the widget.
* app/core/gimpimage.c (gimp_image_get_new_preview): initialize
all fields of the mask pixel_region.
* app/core/gimpviewable.c (gimp_viewable_get_new_preview_pixbuf):
pass a destroy notifier to gdk_pixbuf_new_from_data() so that the
pixel data is freed with the pixbuf.
* libgimptool/gimptool.c (gimp_tool_class_init): register a
finalizer that unrefs the GimpToolControl object.
* app/widgets/gimpenummenu.c (gimp_enum_stock_box_new_with_range):
free the generated stock_id.
2003-02-18 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_find() which
takes a ProcRecord and returns the corresponding PlugInProcDef.
* app/plug-in/plug-in.[ch]: added a ProcRecord pointer to the
PlugIn struct so we know which procedure the plug-in is
executing. Replaced "gboolean in_temp_proc" by
"ProcRecord *current_temp_proc". Added plug_in_get_undo_desc()
which uses the new ProcRecord members and plug_ins_proc_def_find()
to return a human readable string.
* app/plug-in/plug-in-run.c: pass the ProcRecord to plug_in_new().
Set plug_in->current_temp_proc while executing a temp_proc.
(The latter won't work since we don't run temp_procs recursively
at the moment).
* app/gui/plug-in-menus.c: translate the plug-in's menu_path
before chopping it for the "Repeat" and "Reshow" menu items.
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/undo.pdb: use plug_in_get_undo_desc() when
pushing plug-in undos.
* app/pdb/drawable_cmds.c
* app/pdb/undo_cmds.c: regenerated.
2003-02-17 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.[ch] (gimp_image_position_*): added
"undo_desc" parameters.
* app/core/gimpimage-undo-push.c: changed accordingly.
* app/widgets/gimpitemlistview.[ch]: moved the item stack
manipulation function pointers from the instance to the class
struct. Added lots of descriptive strings to be used by tooltips
and undo steps.
* app/widgets/gimpchannellistview.c
* app/widgets/gimpitemlistitem.c
* app/widgets/gimplayerlistview.[ch]
* app/widgets/gimpvectorslistview.c
* app/gui/dialogs-constructors.c
* app/gui/layers-commands.[ch]
* app/gui/vectors-commands.c: changed accordingly. Cleanup.
2003-02-17 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcolorscale.c (gimp_color_scale_size_allocate):
calculate the size of the handle (the small triangles) from the
scale's requisition, not from its allocation. Spotted by drc.
2003-02-17 Michael Natterer <mitch@gimp.org>
* app/core/gimpedit.c (gimp_edit_fill): pass more detailed
undo_desc strings instead of always "Fill".
* app/core/gimpimage-mask-select.c: changed undo_desc strings
to match the already existing blurbs of the selection tools.
2003-02-17 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-merge.[ch]: added "const gchar *undo_desc" to
gimp_image_merge_layers() so the undo steps say "Merge Down",
"Flatten Image" etc. instead of always "Merge Layers".