2003-03-23 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.c (gimp_channel_new_from_component): use
gimp_image_get_component_index() instead of doing the switch()es
manually.
2003-03-22 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable-preview.c
* app/core/gimpimage.c (get_preview_size): return square
dimensions in config->layer_previews is FALSE (except if the size
is requested for a popup).
(get_popup_size): don't crete popups if config->layer_previews
is FALSE.
* app/core/gimpimage.c: added utility function
gimp_image_previews_resize() and call it on "notify::layer-previews".
Calls gimp_viewable_size_changed() on all drawables of the image
and on the image itself. Ensures that drawable/image previews
toggle their size correctly when toggling layer_previews.
* app/widgets/gimpselectioneditor.c: create the selection preview
as a popup so it keeps the image's aspect ratio when
layer_previews is FALSE.
2003-03-22 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-channels-24.png
* themes/Default/images/stock-images-24.png
* themes/Default/images/stock-layers-24.png
* themes/Default/images/stock-paths-22.png: added larger versions of
some icons (provided by Jimmac).
* libgimpwidgets/gimpstock.c: added the new icons. Register icons
in dialog size first.
2003-03-22 Sven Neumann <sven@gimp.org>
* app/gui/layers-commands.c: always flush the image when applying
or discarding a layer mask. The active drawable may change and
make a menu update necessary (fixes bug #108958).
* app/widgets/gimplayertreeview.c: call gimp_image_flush() when
switching between layer and mask editing so the menus get updated.
2003-03-22 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainereditor.c: allow to create a
GimpContainerEditor without a popup menu.
* app/widgets/gimpcellrendererviewable.c: free the event we
got from gdk_get_current_event().
* app/widgets/gimpcontainerview.c: check view->hash_table for
being non-NULL before using it. Be prepared to be destroyed by as
a result of calling gimp_context_set_foo(view->context, foo).
* app/widgets/gimpcontainertreeview.[ch]: added
tree_view->editable_cells and handle *all* mouse clicks in
gimp_container_tree_view_button_press() (by returning TRUE). Start
editing on double-click only. Use gtk_tree_view_set_cursor()
instead of gtk_tree_selection_select_path() to avoid
selected/focus confusion when the focus enters the widget. Be
prepeared to be destroyed as a result of item selection.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcontainerpopup.[ch]: new GtkWindow derived
widget which pops up a selection of any GimpContainer/GimpContext
combo.
* app/widgets/gimpdatafactoryview.c
* app/widgets/gimpitemtreeview.c: add the name cell to
tree_view->editable_cells so it becomes editable.
* app/tools/gimpblendoptions.c
* app/tools/paint_options.c: use the new container popup for
selecting brushes and gradients.
2003-03-21 Manish Singh <yosh@gimp.org>
* plug-ins/common/ps.c: always quote the filename, since system/popen
uses the shell. Also, never quote the filename if we are reading from
a parameter file (only in the win32 case). Fixes#108648.
* plug-ins/dbbrowser/dbbrowser_utils.c: double click on a list item
files Apply, if applicable. Remove the existing model in the treeview
(which will deallocate it) instead of clearing it.
2003-03-22 Sven Neumann <sven@gimp.org>
* themes/Default/images/stock-channel-16.png
* themes/Default/images/stock-channel-24.png
* themes/Default/images/stock-layer-16.png
* themes/Default/images/stock-layer-24.png: new icons provided by
Jimmac.
* themes/Default/images/stock-eye-12.png
* themes/Default/images/stock-linked-12.png: tiny visibility and
linked icons that I created from Jimmac's small versions by
scaling them down. Should probably be redone.
* libgimpwidgets/gimpstock.[ch]: allow to register multiple sizes
for the same stock_id. Added new icons.
* app/core/gimpchannel.c
* app/core/gimplayer.c: set default stock_ids so the new icons are
used when layer previews are disabled.
2003-03-21 Sven Neumann <sven@gimp.org>
* plug-ins/mosaic/mosaic_logo.h
* plug-ins/mosaic/mosaic.c: converted the logo to pixbuf inline data
and replaced the GtkPreview with a GtkImage.
* plug-ins/print/gimp_main_window.c: replaced some deprecated calls.
2003-03-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppreviewrenderer.c
(gimp_preview_renderer_set_viewable)
(gimp_preview_renderer_size_changed): don't rely on
gimp_preview_renderer_set_size() to invalidate the
renderer. Instead, call gimp_preview_renderer_invalidate() after
resizing the renderer.
2003-03-21 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-in.c (plug_in_open): added
G_SPAWN_CHILD_INHERITS_STDIN to the flags passed to g_spawn_async().
Needed to get batch-mode working again.
* app/batch.[ch]: some cleanup.
* plug-ins/script-fu/script-fu-text-console.c: improved error
reporting.
2003-03-21 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-scale.c: don't emit the "scaled"
signal from gimp_display_shell_scale_setup(). Emit it explicitely
from gimp_display_shell_scale_resize() instead.
* app/display/gimpdisplayshell-scroll.c: call
gimp_display_shell_scale_setup() after scrolling in order to
update scrollbars and rulers.
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-handlers.c: emit the "scaled" signal
explicitely.
* app/display/gimpdisplayshell-render.c: minor optimizations.
* app/display/gimpdisplayshell.c: minor cleanup.
2003-03-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpeditor.[ch]: added a GimpItemFactory to the
GimpEditor struct. Added gimp_editor_create_menu().
* app/widgets/gimpcolormapeditor.[ch]
* app/widgets/gimpcomponenteditor.[ch]
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpdataeditor.[ch]
* app/widgets/gimpitemtreeview.[ch]: removed item_factory pointers
and lots of inalizers which just unref'ed the item_factory. Use
gimp_editor_create_menu() instead.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimppaletteeditor.c: changed accordingly.
2003-03-20 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-new.c (gimp_image_new_values_new): default
the fill_type to GIMP_BACKGROUND_FILL (as in gimp_initialize()).
* app/gui/file-commands.c
* app/gui/file-new-dialog.c: made more dialogs transient for their
parent window.
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpimageeditor.c
* app/widgets/gimpundoeditor.c: simplified a little bit.
2003-03-20 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpbutton.[ch]: pass the modifier mask as
GdkModifierType instead of guint.
* app/core/gimpmarshal.list
* app/widgets/gimpcellrenderertoggle.c
* app/widgets/gimpcellrendererviewable.c
* app/widgets/gimppreview.c: use proper marshallers for signals
that take flags as parameters.
* app/core/gimpcontext.c: added the G_SIGNAL_TYPE_STATIC_SCOPE flag
to the GimpRGB signal parameter.
2003-03-20 Sven Neumann <sven@gimp.org>
* libgimpwidgets/libgimpwidgets.types
* libgimpwidgets/tmpl/gimpbutton.sgml
* libgimpwidgets/tmpl/gimppickbutton.sgml: improved.
2003-03-20 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplay.[ch]: removed gdisp->draw_guides
and gdisp->snap_to_guides.
* app/display/gimpdisplayshell.[ch]: added shell->snap_to_guides.
Added the state of guide, selection and active_layer visibility to
the GimpDisplayShellVisibility struct so they can be configured
separately for fullscreen mode. Update the popup_factory in
gimp_display_shell_real_scaled() only if this is the active
display.
* app/display/gimpdisplayshell-appearance.[ch]: added accessors
for selection, active_layer and guide visibility.
* app/display/gimpdisplayshell-selection.[ch]: changed
accordingly. Changed the selection and active_layer toggle
functions to *_set_hidden().
* app/display/gimpdisplayshell-callbacks.c
* app/gui/image-menu.c
* app/gui/view-commands.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpmovetool.c: changed accordingly.
* app/gui/gui.c (gui_display_new): update the menubar_factory
*after* making the new display the active one.
2003-03-20 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.[ch]
Fixed crashes and weird problems when the tool changed images or
images got closed. Fixes Bug #108318.
* app/vectors/vectors-types.h: More sane names for the
GimpAnchorType enum.
* app/vectors/gimpbezierstroke.c
* app/vectors/gimpstroke.c: changed accordingly.
2003-03-19 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch]: added GIMP_UNDO_GROUP_MASK.
* app/tools/gimpeditselectiontool.c: use it for mask moving.
Made the "undo_desc" strings more specific.
* app/core/gimpundo.c: add it to the list of undo types for
which mask previews are created.
* app/core/gimpimage.c: s/Add Layer to Image/Add Layer/g etc.
2003-03-19 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcomponenteditor.c: need to connect to the cell
renderer's "clicked" signal because "toggled" is not emitted any
longer.
* app/widgets/gimpdrawabletreeview.c: removed debugging output.
* app/widgets/gimpitemtreeview.[ch]: added "const gchar *reorder_desc"
to the class scruct and use it as undo_desc for DND reordering.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c: set reorder_desc.
2003-03-19 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcellrenderertoggle.[ch]
* app/widgets/gimpcellrendererviewable.[ch]: added public
functions to emit the "clicked" signal.
* app/widgets/gimpcontainertreeview.c: use them instead of
g_signal_emit_by_name().
* app/widgets/Makefile.am
* app/widgets/gimpcontainertreeview-dnd.[ch]: new files
implementing DND for tree views.
* app/widgets/gimpcontainertreeview.[ch]: added virtual
functions drop_possible() and drop().
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c: implement drop_possible()
and drop().
2003-03-18 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-mask.[ch] (gimp_image_mask_translate)
* app/core/gimplayer.[ch] (gimp_layer_translate): added
"gboolean push_undo" parameters.
* app/core/gimpimage-crop.c
* app/core/gimpimage-resize.c
* app/display/gimpdisplayshell-dnd.c
* app/gui/layers-commands.c
* app/widgets/gimptoolbox.c
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/selection.pdb: changed accordingly.
* app/pdb/layer_cmds.c
* app/pdb/selection_cmds.c: regenerated.
* app/core/gimpimage-undo-push.c (undo_pop_layer_displace): call
gimp_layer_translate() with "push_undo == FALSE" instead of
duplicating gimp_layer_translate()'s code. Use GimpItemUndo for
GIMP_UNDO_MASK.
* app/tools/gimpeditselectiontool.c
(gimp_edit_selection_tool_cursor_key): check if the top undo on
the stack is of exactly the same type as the undo we would push
and just don't push it then (compresses layer translate undos and
fixes bug #86362). Changed stuff work with CAPS_LOCK or other
modifiers pressed.
2003-03-18 Michael Natterer <mitch@gimp.org>
Added an API for image colormap manupulation and made colormap
changes undoable (fixes bug #25963).
* app/core/Makefile.am
* app/core/gimpimage-colormap.[ch]: new files implementing
colormap getters/setters. The setters push undos using the
new function below.
* app/core/core-enums.[ch]: added GIMP_UNDO_IMAGE_COLORMAP.
* app/core/gimpimage-undo-push.[ch]: added
gimp_image_undo_push_image_colormap(). Use GimpItemUndo even more
often. Cleanup.
* app/core/gimpimage.[ch]: removed gimp_image_get_colormap() here.
* app/core/gimpimage-convert.c
* app/gui/colormap-editor-commands.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimptoolbox.c
* tools/pdbgen/pdb/image.pdb: use the new API.
* app/pdb/image_cmds.c: regenerated.
* plug-ins/common/vinvert.c: removed the comment about the bug,
cosmetic cleanup.
Unrelated:
* app/gui/splash.c: added a frame around the splash. Please eek
if it doesn't please you.
2003-03-17 Michael Natterer <mitch@gimp.org>
Made drawable/layer properties (visibility, opacity etc.)
undoable (fixes bug #73893).
* app/core/core-enums.[ch]: added undo types/groups for
visibility, mode, opacity, linked and preserve_trans.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpitemundo.[ch]: new GimpUndo subclass which holds a
ref'ed GimpItem pointer so (1) this doesn't need to be done by all
undo steps related to an item and (2) the item the undo step is
for can be determined from outside the undo system.
* app/core/gimpimage-undo.[ch]: added gimp_image_undo_push_item()
which returns a new GimpItemUndo.
* app/core/gimpimage-undo-push.[ch]: use it for all item related
undo steps. Removed lots of GimpItem, GimpLayer, GimpDrawable
and GimpVectors pointers from the private undo structs. Added
undo push functions for the new undo types added above.
* app/core/gimpdrawable.[ch] (gimp_drawable_set_visible): added
"gboolean push_undo" parameter.
* app/core/gimplayer.[ch] (gimp_layer_set_opacity, _mode,
_preserve_trans, _linked): added "gboolean push_undo" parameters.
* app/core/gimpimage-mask.c
* app/core/gimpimage-merge.c
* app/core/gimplayer-floating-sel.c
* app/tools/gimpmovetool.c
* app/xcf/xcf-load.c
* app/widgets/gimpdrawablelistitem.c
* app/widgets/gimplayerlistitem.c
* app/widgets/gimplayerlistview.c: changed accordingly.
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/layer.pdb: ditto. Added '$undo' paramaters to
the foo_accessors() functions. Removed $func from foo_accesors()
because we don't manipulate items without using getters/setters
any longer.
* app/pdb/channel_cmds.c
* app/pdb/layer_cmds.c: regenerated.
* app/widgets/gimpcellrenderertoggle.[ch]: added "clicked" signal
which carries an additional "GdkModifierType state" parameter as
in GimpCellRendererViewable .
* app/widgets/gimpcontainertreeview.c: emit "clicked" from
the toggle renderer, not "toggled" so the callbacks get the
modifier state.
* app/widgets/gimpdrawabletreeview.c: resurrected the "exclusive
visible by <shift>+click" feature as in 1.2.
* app/widgets/gimplayertreeview.c: compress layer opacity undos by
looking at the top of the undo stack and not pushing an undo if
there already is a GIMP_UNDO_DRAWABLE_OPACITY for the active
layer.
2003-03-17 Sven Neumann <sven@gimp.org>
* plug-ins/ifscompose/ifscompose.c (run): put the actual effect
and the attachment of a parasite into an undo group so that only a
single undo step is pushed when the plug-in is run.
2003-03-17 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-utils.[ch]: added the new function
gimp_config_string_append_escaped(), see inline docs.
* app/config/gimpconfig-serialize.c
* app/config/gimpconfigwriter.c
* app/core/gimpcontainer.c: use the new function instead of
g_strescape().
2003-03-17 Sven Neumann <sven@gimp.org>
Applied patches from David Necas <yeti@physics.muni.cz> that fix
incorrect RGBA resampling in a number of plug-ins:
* plug-ins/common/fractaltrace.c: fixes bug #72873.
* plug-ins/common/tiler.c: fixes bug #72875.
* plug-ins/common/waves.c: fixes bug #72870.
* plug-ins/common/whirlpinch.c: fixes bug #72871.
2003-03-17 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: added virtual function rename() which
pushes an item rename undo. Added "default_name" and "rename_desc"
to the GimpItemClass struct which are used as default values.
* app/core/gimplayer.c: implement it and special-case floating
selections. set item_clas->default_name and item_class->rename_desc.
* app/core/gimpchannel.c
* app/vectors/gimpvectors.c: set item_class->default_name and
item_class->rename_desc.
* app/widgets/gimpitemtreeview.[ch]: removed rename_item() virtual
function and call gimp_item_rename().
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c: changed accordingly.
2003-03-16 Sven Neumann <sven@gimp.org>
* app/gui/file-save-dialog.c (file_save_overwrite): set the dialog
transient to the file selection dialog (see bug #61092).