1. 21 Feb, 2003 1 commit
    • Michael Natterer's avatar
      Refactored the GimpDisplayShell update/draw code: · 5f5e0bf5
      Michael Natterer authored
      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().
      5f5e0bf5
  2. 20 Feb, 2003 1 commit
    • Michael Natterer's avatar
      app/widgets/Makefile.am app/widgets/widgets-types.h new GimpEditor · 94bdcbcc
      Michael Natterer authored
      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.
      94bdcbcc
  3. 17 Feb, 2003 1 commit
    • Michael Natterer's avatar
      added "undo_desc" parameters. · fefaa309
      Michael Natterer authored
      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.
      fefaa309
  4. 14 Feb, 2003 1 commit
    • Michael Natterer's avatar
      Moved the undo step implementations to the core and pass around lots of · 7a6a8d9d
      Michael Natterer authored
      2003-02-14  Michael Natterer  <mitch@gimp.org>
      
      	Moved the undo step implementations to the core and pass around
      	lots of "const gchar *undo_desc". Fixes bug #104367.
      
      	* app/Makefile.am
      	* app/undo.[ch]: removed...
      
      	* app/core/Makefile.am
      	* app/core/gimpimage-undo-push.[ch]: ...and added here.
      
      	* app/paint/Makefile.am
      	* app/tools/Makefile.am
      	* app/paint/gimppaintcore-undo.[ch]
      	* app/tools/gimptransformtool-undo.[ch]: new files for the
      	paint and transform undos.
      
      	* app/core/gimppaintinfo.[ch]: added a blurb.
      
      	* app/paint/gimpairbrush.c
      	* app/paint/gimpclone.c
      	* app/paint/gimpconvolve.c
      	* app/paint/gimpdodgeburn.c
      	* app/paint/gimperaser.c
      	* app/paint/gimppaintbrush.c
      	* app/paint/gimppaintcore.c
      	* app/paint/gimppencil.c
      	* app/paint/gimpsmudge.c
      	* app/paint/paint-types.h
      	* app/paint/paint.c: pass the blurb when registering the core.
      
      	* app/core/gimpdrawable.[ch]
      	* app/core/gimpimage.[ch]
      	* app/core/gimpimage-mask-select.[ch]
      	* app/core/gimpimage-mask.[ch]
      	* app/core/gimpimagemap.[ch]
      	* app/core/gimplayer-floating-sel.[ch]: added "undo_desc" parameters
      	to all undo pushing helper functions.
      
      	* app/undo_history.c
      	* app/core/gimpchannel.c
      	* app/core/gimpdrawable-blend.c
      	* app/core/gimpdrawable-bucket-fill.c
      	* app/core/gimpdrawable-desaturate.c
      	* app/core/gimpdrawable-equalize.c
      	* app/core/gimpdrawable-invert.c
      	* app/core/gimpdrawable-offset.c
      	* app/core/gimpdrawable-transform.c
      	* app/core/gimpedit.c
      	* app/core/gimpimage-convert.c
      	* app/core/gimpimage-crop.c
      	* app/core/gimpimage-guides.c
      	* app/core/gimpimage-merge.c
      	* app/core/gimpimage-qmask.c
      	* app/core/gimpimage-resize.c
      	* app/core/gimpimage-scale.c
      	* app/core/gimpimage-undo.c
      	* app/core/gimpitem.c
      	* app/core/gimplayer.c
      	* app/core/gimplayermask.c
      	* app/display/gimpdisplayshell-dnd.c
      	* app/file/file-open.c
      	* app/file/file-save.c
      	* app/gui/channels-commands.c
      	* app/gui/file-commands.c
      	* app/gui/file-open-dialog.c
      	* app/gui/image-commands.c
      	* app/gui/layers-commands.c
      	* app/gui/paths-dialog.c
      	* app/gui/select-commands.c
      	* app/gui/vectors-commands.c
      	* app/text/gimptext-compat.c
      	* app/tools/gimpbezierselecttool.c
      	* app/tools/gimpbucketfilltool.c
      	* app/tools/gimpeditselectiontool.c
      	* app/tools/gimpfreeselecttool.c
      	* app/tools/gimpfuzzyselecttool.c
      	* app/tools/gimpimagemaptool.c
      	* app/tools/gimpinktool.c
      	* app/tools/gimpiscissorstool.c
      	* app/tools/gimpmeasuretool.c
      	* app/tools/gimpmovetool.c
      	* app/tools/gimppainttool.c
      	* app/tools/gimprectselecttool.c
      	* app/tools/gimptexttool.c
      	* app/tools/gimptransformtool.c
      	* app/widgets/gimpchannellistview.c
      	* app/widgets/gimpdrawablelistview.c
      	* app/widgets/gimpselectioneditor.c
      	* tools/pdbgen/pdb/color.pdb
      	* tools/pdbgen/pdb/drawable.pdb
      	* tools/pdbgen/pdb/guides.pdb
      	* tools/pdbgen/pdb/layer.pdb
      	* tools/pdbgen/pdb/selection.pdb
      	* tools/pdbgen/pdb/selection_tools.pdb: changed accordingly: pass
      	"undo_desc" strings, changed includes or simply removed inclusion
      	of "undo.h". Some random cleanups.
      
      	* tools/pdbgen/pdb/guides.pdb: cleaned up a lot. Fixed
      	gimp_image_find_next_guide() to not return guides with
      	position < 0 (and made it shorter and readable).
      
      	* app/pdb/color_cmds.c
      	* app/pdb/drawable_cmds.c
      	* app/pdb/guides_cmds.c
      	* app/pdb/layer_cmds.c
      	* app/pdb/selection_cmds.c
      	* app/pdb/selection_tools_cmds.c: regenerated.
      7a6a8d9d
  5. 13 Feb, 2003 1 commit
    • Michael Natterer's avatar
      changed FOO_UNDO enum values to GIMP_UNDO_FOO. · b600fd86
      Michael Natterer authored
      2003-02-13  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/core-enums.[ch]: changed FOO_UNDO enum values to
      	GIMP_UNDO_FOO.
      
      	* app/undo.[ch]: removed the undo group wrappers.
      
      	* app/undo_history.c
      	* app/core/gimpdrawable-transform.c
      	* app/core/gimpedit.c
      	* app/core/gimpimage-convert.c
      	* app/core/gimpimage-crop.c
      	* app/core/gimpimage-mask.c
      	* app/core/gimpimage-merge.c
      	* app/core/gimpimage-qmask.c
      	* app/core/gimpimage-resize.c
      	* app/core/gimpimage-scale.c
      	* app/core/gimpimage-undo.c
      	* app/core/gimpimage.c
      	* app/core/gimpitem.c
      	* app/core/gimplayer-floating-sel.c
      	* app/core/gimplayer.c
      	* app/display/gimpdisplayshell-dnd.c
      	* app/gui/channels-commands.c
      	* app/gui/image-commands.c
      	* app/gui/layers-commands.c
      	* app/paint/gimppaintcore.c
      	* app/text/gimptext-compat.c
      	* app/tools/gimpbezierselecttool.c
      	* app/tools/gimpeditselectiontool.c
      	* app/tools/gimpmeasuretool.c
      	* app/tools/gimptexttool.c
      	* app/tools/gimptransformtool.c
      	* tools/pdbgen/pdb/layer.pdb
      	* tools/pdbgen/pdb/undo.pdb: changed accordingly. Pass meaningful
      	undo names to gimp_image_undo_group_start().
      
      	* app/pdb/layer_cmds.c
      	* app/pdb/undo_cmds.c: regenerated.
      b600fd86
  6. 12 Feb, 2003 1 commit
    • Michael Natterer's avatar
      Moved the undo system to the core: Keep GimpUndoStack objects as undo and · be70105d
      Michael Natterer authored
      2003-02-12  Michael Natterer  <mitch@gimp.org>
      
      	Moved the undo system to the core: Keep GimpUndoStack objects as
      	undo and redo stack. Use GimpUndo objects as members of the
      	stacks. GimpUndoStack is derived from GimpUndo and keeps undo
      	groups, so undo group handling is much simpler than before
      	(the whole group is just a single GimpUndo object on the
      	stack and not everything between group boundary markers).
      
      	* app/Makefile.am
      	* app/undo_types.h: removed.
      
      	* app/config/gimpcoreconfig.[ch]: added "gulong undo_size".
      	* app/config/gimprc-blurbs.h: and its blurb.
      
      	* app/core/core-enums.[ch]: added GimpUndoMode and GimpUndoType.
      
      	* app/core/core-types.h: removed UndoType, added GimpUndoAccumulator,
      	GimpUndoPopFunc and GimpUndoFreeFunc.
      
      	* app/core/gimpundo.[ch]: do everything the old "Undo" struct did.
      	Removed the virtual push() function and added free().
      
      	* app/core/gimpundostack.[ch]: keeps the new undo/redo stacks
      	and also acts as undo group.
      
      	* app/core/gimpimage-undo.[ch]: moved the undo apparatus here.
      
      	* app/core/gimpimage.[ch]: removed the old stuff.
      
      	* app/core/gimpmarshal.list: added marshaller needed for GimpUndo.
      
      	* app/undo.[ch]: removed the whole undo mechanism. Only the
      	actual undo pushing functions are left.
      
      	* app/undo_history.c
      	* app/gui/edit-commands.c
      	* app/gui/file-commands.c
      	* app/gui/image-menu.c
      	* app/gui/preferences-dialog.c
      	* app/tools/gimpeditselectiontool.c: changed accordingly.
      be70105d
  7. 11 Feb, 2003 2 commits
    • Michael Natterer's avatar
      added new virtual function duplicate() as replacement for all · 436ed648
      Michael Natterer authored
      2003-02-11  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpitem.[ch]: added new virtual function duplicate()
      	as replacement for all gimp_*_copy() functions.
      
      	* app/core/gimpchannel.[ch]
      	* app/core/gimpdrawable.[ch]
      	* app/core/gimplayer.[ch]
      	* app/core/gimplayermask.[ch]
      	* app/vectors/gimpvectors.[ch]: replaced public copy() functions
      	by duplicate() implementations.
      
      	* app/text/gimptextlayer.c: added a duplicate() implementation.
      
      	* app/widgets/gimpitemlistview.[ch]: removed the "copy_item_func"
      	and simply call gimp_item_duplicate().
      
      	* app/undo.c
      	* app/core/gimpimage-duplicate.c
      	* app/core/gimpimage-mask.c
      	* app/core/gimpimage-qmask.c
      	* app/gui/channels-commands.c
      	* app/gui/dialogs-constructors.c
      	* app/gui/layers-commands.c
      	* app/gui/vectors-commands.c
      	* app/widgets/gimptoolbox.c
      	* tools/pdbgen/pdb/channel.pdb
      	* tools/pdbgen/pdb/layer.pdb
      	* tools/pdbgen/pdb/selection.pdb: changed accordingly.
      
      	* app/pdb/channel_cmds.c
      	* app/pdb/layer_cmds.c
      	* app/pdb/selection_cmds.c: regenerated.
      436ed648
    • Michael Natterer's avatar
      added lots of members for the complete state of the plug-ins. · af330e96
      Michael Natterer authored
      2003-02-11  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimp.h: added lots of members for the complete
      	state of the plug-ins.
      
      	* app/plug-in/plug-in-types.h: added PlugInShm typedef.
      
      	* app/plug-in/plug-in-message.c
      	* app/plug-in/plug-in-rc.[ch]
      	* app/plug-in/plug-in-run.[ch]
      	* app/plug-in/plug-in-shm.c
      	* app/plug-in/plug-in.[ch]
      	* app/plug-in/plug-ins.[ch]: removed all global & static variables
      	and pass around more "Gimp" pointers.
      
      	* app/plug-in/plug-in-debug.c: use G_N_ELEMENTS().
      
      	* app/gui/image-menu.c
      	* app/gui/plug-in-commands.c
      	* app/gui/plug-in-menus.c
      	* app/gui/toolbox-menu.c
      	* app/xcf/xcf.c
      	* tools/pdbgen/pdb/fileops.pdb
      	* tools/pdbgen/pdb/plug_in.pdb: changed accordingly.
      
      	* app/pdb/fileops_cmds.c
      	* app/pdb/plug_in_cmds.c: regenerated.
      af330e96
  8. 31 Jan, 2003 1 commit
    • Michael Natterer's avatar
      added gimp_item_configure() and gimp_item_copy(). · 794885e2
      Michael Natterer authored
      2003-01-31  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpitem.[ch]: added gimp_item_configure() and
      	gimp_item_copy().
      
      	* app/core/gimpdrawable.c (gimp_drawable_configure,copy): use them.
      
      	* app/vectors/gimpvectors.[ch]: added gimp_vectors_new(),
      	gimp_vectors_copy() and gimp_vectors_copy_points(). Use the new
      	GimpItem functions just as GimpDrawable does. Added a
      	get_memsize() implementation.
      
      	* app/vectors/gimpstroke.[ch]: made it a GimpObject and added
      	a get_memsize() implementation.
      
      	* app/undo.c: implemented vectors undo as if the new GimpVectors
      	functions above worked.
      
      	* app/gui/dialogs-constructors.c
      	* app/gui/vectors-commands.c
      	* app/tools/gimpvectortool.c: use gimp_vectors_new,copy().
      794885e2
  9. 30 Jan, 2003 1 commit
    • Michael Natterer's avatar
      renamed plug_in->busy to plug_in->in_temp_proc. Added a stack of · a3c38814
      Michael Natterer authored
      2003-01-30  Michael Natterer  <mitch@gimp.org>
      
      	* app/plug-in/plug-in.[ch]: renamed plug_in->busy to
      	plug_in->in_temp_proc. Added a stack of GMainLoops to each
      	plug-in. Added the "current_return_vals" to the PlugIn
      	struct. Renamed plug_in_kill() to plug_in_exit(). Removed
      	the stuff added below. Cleanup.
      
      	* app/plug-in/Makefile.am
      	* app/plug-in/plug-in-message.[ch]
      	* app/plug-in/plug-in-run.[ch]
      	* app/plug-in/plug-in-shm.[ch]: new files taking out functionality
      	from the overloaded plug-in.c. Added the code back in that implements
      	temp proc return messages (inside an #ifdef) because i don't
      	really get why it was removed on Sep 19 1998.
      
      	* app/plug-in/plug-ins.c: changed accordingly.
      
      	* app/plug-in/plug-in-def.c
      	* app/plug-in/plug-in-params.c: removed inclusion of <gtk/gtk.h>.
      
      	* app/gui/file-save-dialog.c
      	* app/gui/paths-dialog.c
      	* app/gui/plug-in-commands.c
      	* app/gui/plug-in-menus.c
      	* app/pdb/procedural_db.c
      	* app/widgets/gimphelp.c: changed plug-in includes accordingly.
      
      	* app/gui/plug-in-commands.c: don't use "the_gimp" from
      	"app_procs.h" but get it from the GimpItemFactory that invoked the
      	plug-in callback.
      a3c38814
  10. 13 Jan, 2003 1 commit
    • Michael Natterer's avatar
      app/gui/brushes-menu.[ch] app/gui/buffers-menu.[ch] · 6f29b766
      Michael Natterer authored
      2003-01-13  Michael Natterer  <mitch@gimp.org>
      
      	* 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/file-open-menu.[ch]
      	* app/gui/file-save-menu.[ch]
      	* app/gui/gradient-editor-menu.[ch]
      	* app/gui/gradients-menu.[ch]
      	* app/gui/image-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/toolbox-menu.[ch]
      	* app/gui/vectors-menu.[ch]: new files, one per GimpItemFactory,
      	containing the menu entries and their setup and update funcs.
      
      	* app/gui/brushes-commands.[ch]
      	* app/gui/patterns-commands.[ch]: removed because they contained
      	only update funcs.
      
      	* app/gui/Makefile.am: changed accordingly. Split the huge
      	SOURCES list in smaller ones for menus and dialogs.
      
      	* app/gui/menus.[ch]: removed the menu entries and setup funcs.
      	Added MENU_SEPARATOR() and MENU_BRANCH() macros to the header.
      	Made some utility functions public.
      
      	* app/display/gimpdisplayshell.[ch]
      	* app/gui/buffers-commands.[ch]
      	* app/gui/channels-commands.[ch]
      	* app/gui/colormap-editor-commands.[ch]
      	* app/gui/dialogs-commands.[ch]
      	* app/gui/documents-commands.[ch]
      	* app/gui/gradient-editor-commands.[ch]
      	* app/gui/gradients-commands.[ch]
      	* app/gui/images-commands.[ch]
      	* app/gui/layers-commands.[ch]
      	* app/gui/palette-editor-commands.[ch]
      	* app/gui/palettes-commands.[ch]
      	* app/gui/qmask-commands.[ch]
      	* app/gui/vectors-commands.[ch]: removed the update funcs.
      
      	* app/gui/plug-in-menus.[ch]: renamed plug_in_set_menu_sensitivity()
      	to plug_in_menus_update(). Cleanup.
      
      	* app/gui/paths-dialog.[ch]: added the <Paths> entries here
      	so they will go away together with these files.
      
      	* app/gui/dialogs-constructors.c
      	* app/gui/drawable-commands.c: removed useless #includes.
      6f29b766
  11. 12 Jan, 2003 1 commit
    • Michael Natterer's avatar
      pass the GimpItemListView as "data" to the item_factory callbacks, not · f44500aa
      Michael Natterer authored
      2003-01-12  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpitemlistview.c: pass the GimpItemListView as
      	"data" to the item_factory callbacks, not just a "Gimp" pointer.
      
      	* app/display/gimpdisplayshell.c: use
      	gtk_window_add_accel_group(), not gimp_window_add_accel_group()
      	because we now attach the menubar's accel group, which has the
      	GimpDisplay as callback data.
      
      	* app/display/gimpdisplayshell-callbacks.c: pass the GimpDisplay
      	as "popup_data" to *_item_factory_popup_with_data().
      
      	* app/gui/channels-commands.c
      	* app/gui/drawable-commands.c
      	* app/gui/layers-commands.c
      	* app/gui/vectors-commands.c: changed accordingly.
      
      	* app/widgets/gimpwidgets-utils.[ch]: removed
      	gimp_window_[add|remove]_accel_group() and
      	gimp_widget_get_callback_context() because they were evil hacks
      	which are no longer needed now that all item_factories have proper
      	callback data (no just Gimp pointers).
      f44500aa
  12. 10 Jan, 2003 2 commits
    • Michael Natterer's avatar
      app/widgets/gimpcolormapeditor.c app/widgets/gimpcontainereditor.[ch] pass · dd27eb1e
      Michael Natterer authored
      2003-01-10  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpcolormapeditor.c
      	* app/widgets/gimpcontainereditor.[ch]
      	* app/widgets/gimpdataeditor.c: pass the editor widget as
      	callback_data to GtkItemFactory callbacks, not a "Gimp" pointer.
      
      	* app/gui/buffers-commands.c
      	* app/gui/colormap-editor-commands.c
      	* app/gui/data-commands.c
      	* app/gui/documents-commands.c
      	* app/gui/gradient-editor-commands.c
      	* app/gui/gradients-commands.c
      	* app/gui/images-commands.c
      	* app/gui/palette-editor-commands.c
      	* app/gui/palettes-commands.c
      
      	* app/gui/patterns-commands.c: simply cast the passed "data"
      	pointer instead of calling gimp_widget_get_callback_context().
      	Don't #include "widgets/gimpwidgets-utils.h".
      dd27eb1e
    • Michael Natterer's avatar
      Move away from creating all item_factories statically in menus_init() but · 8d86ec25
      Michael Natterer authored
      2003-01-10  Michael Natterer  <mitch@gimp.org>
      
      	Move away from creating all item_factories statically in
      	menus_init() but create a new one for each place where one is
      	needed:
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpmenufactory.[ch]: new factory which creates and
      	configures the GimpItemFactories it knows about on-the-fly.
      
      	* app/widgets/gimpitemfactory.[ch]: added
      	gimp_item_factory_update() which calls the "update_func". Added
      	"gboolean update_on_popup" so item_factories can be configured to
      	require manual updates (used for the <Image> factory).
      
      	* app/gui/menus.[ch]: create a "global_menu_factory" and register
      	all menus we have with it. Added various setup functions which
      	do stuff like adding the "Open Recent" menu or reorder plug-in
      	menu entries. Removed the debugging stuff...
      
      	* app/gui/Makefile.am
      	* app/gui/debug-commands.[ch]: ...and added it here.
      
      	* app/gui/gui.c: create the <Toolbox>, the popup-<Image> and the
      	<Paths> factories here because they are still global.
      
      	* app/gui/plug-in-menus.[ch]: changed the "image_factory"
      	parameters to "item_factory" and create/update the entries for the
      	passed item_factory only. Makes the whole stuff much more
      	straightforward.
      
      	* app/plug-in/plug-ins.c: don't call plug_in_make_menu().
      
      	* app/display/gimpdisplay.[ch]
      	* app/display/gimpdisplayshell.[ch]: added "menu_factory" and
      	"popup_factory" parameters to gimp_display_new() and
      	gimp_display_shell_new(). Create the menubar_factory and the
      	qmask_factory dynamically. Pass the shell, not a Gimp to the QMask
      	callbacks. Changed gimp_display_shell_set_menu_sensitivity() to
      	gimp_display_shell_menu_update() and don't call it directly (it's
      	a GimpItemFactory update_func now). Call gimp_item_factory_update()
      	on the resp. factories instead.
      
      	* app/gui/qmask-commands.c
      	* app/display/gimpdisplayshell-callbacks.c
      	* app/tools/gimpimagemaptool.c: changed accordingly.
      
      	* app/widgets/gimpbrusheditor.c
      	* app/widgets/gimpbrushfactoryview.[ch]
      	* app/widgets/gimpbufferview.[ch]
      	* app/widgets/gimpcolormapeditor.[ch]
      	* app/widgets/gimpcontainereditor.[ch]
      	* app/widgets/gimpdataeditor.[ch]
      	* app/widgets/gimpdatafactoryview.[ch]
      	* app/widgets/gimpdialogfactory.[ch]
      	* app/widgets/gimpdock.c
      	* app/widgets/gimpdockbook.[ch]
      	* app/widgets/gimpdocumentview.[ch]
      	* app/widgets/gimpgradienteditor.[ch]
      	* app/widgets/gimpimageview.[ch]
      	* app/widgets/gimpitemlistview.[ch]
      	* app/widgets/gimppaletteeditor.[ch]: pass around lots of
      	GimpMenuFactory pointers and menu_identifiers so all views can
      	create their item_factories themselves. Unref the factories when
      	they are no longer needed because they belong to the views now.
      
      	* app/gui/dialogs-commands.c
      	* app/gui/dialogs-constructors.c
      	* app/gui/dialogs.c
      	* app/gui/brush-select.c
      	* app/gui/gradient-select.c
      	* app/gui/palette-select.c
      	* app/gui/pattern-select.c: changed accordingly.
      
      	* app/gui/file-dialog-utils.[ch] (file_dialog_new): require
      	menu_factory and menu_identifier parameters.
      
      	* app/gui/file-open-dialog.[ch]
      	* app/gui/file-save-dialog.[ch]: removed file_*_dialog_menu_init()
      	(they went to menus.c as setup_funcs). Added file_*_dialog_set_type()
      	and moved the <Load> and <Save> factory callbacks to file-commands.c
      
      	* app/gui/file-commands.[ch]: changed accordingly.
      
      	* app/gui/view-commands.c: changed the statusbar, menubar, rulers
      	and guides callbacks to do their job only if the setting has
      	actually changed. Don't update whole item factories afterwards.
      	Instead, just change the state of the items that actually need
      	update.
      
      	Unrelated:
      
      	* app/core/gimpchannel.c (gimp_channel_init): set "bounds_known"
      	and friends to FALSE since we don't know that the new channel will
      	be empty (fixes QMask and probably other stuff).
      
      	* app/gui/image-commands.c
      	* app/gui/vectors-commands.c: cleanup.
      8d86ec25
  13. 06 Jan, 2003 1 commit
  14. 05 Jan, 2003 2 commits
  15. 02 Jan, 2003 1 commit
    • Michael Natterer's avatar
      Replaced Garry's fix for bug #98843 by a more general solution which stops · ea95a322
      Michael Natterer authored
      2003-01-02  Michael Natterer  <mitch@gimp.org>
      
      	Replaced Garry's fix for bug #98843 by a more general solution
      	which stops the active tool when an undo group start is pushed:
      
      	* app/core/gimpimage.[ch]: removed the "layer_merge" signal
      	and added "undo_start" instead.
      
      	* app/undo.c: emit "undo_start" in undo_push_group_start()
      	_before_ checking if gimage->undo_on is TRUE.
      
      	* app/tools/tool_manager.c: connect to "undo_start" and HALT the
      	active tool if neccessary.
      
      	* app/core/core-types.h: added EDIT_COPY_UNDO_GROUP.
      
      	* app/core/gimpedit.c: push an undo group around the copy
      	operation. Will probably have to add more undo group types to wrap
      	other critical image modifications with.
      
      	* app/core/gimpimage-merge.c
      	* app/gui/convert-dialog.c
      	* app/gui/edit-commands.c
      	* app/gui/test-commands.c
      	* app/tools/gimpimagemaptool.c: removed all special code to
      	stop the active tool.
      ea95a322
  16. 14 Dec, 2002 3 commits
    • Michael Natterer's avatar
      use gdisp->gimage->gimp instead of the_gimp. · 1d1be9f0
      Michael Natterer authored
      2002-12-14  Michael Natterer  <mitch@gimp.org>
      
      	* app/gui/plug-in-commands.c (plug_in_repeat_cmd_callback):
      	use gdisp->gimage->gimp instead of the_gimp.
      
      	* app/tools/gimpimagemaptool.c: pass update_popup == FALSE to
      	gimp_display_shell_set_menu_sensitivity().
      1d1be9f0
    • Sven Neumann's avatar
      data is not a Gimp pointer if this function is called from an image · b9b40c45
      Sven Neumann authored
      2002-12-14  Sven Neumann  <sven@gimp.org>
      
      	* app/gui/plug-in-commands.c (plug_in_repeat_cmd_callback): data
      	is not a Gimp pointer if this function is called from an image
      	menubar. Use the_gimp instead of crashing.
      b9b40c45
    • Michael Natterer's avatar
      Changed menubar showing/hiding to work like rulers and statusbar: · f03b6b6d
      Michael Natterer authored
      2002-12-14  Michael Natterer  <mitch@gimp.org>
      
      	Changed menubar showing/hiding to work like rulers and statusbar:
      
      	* app/config/gimpconfig-blurbs.h
      	* app/config/gimpdisplayconfig.[ch]: renamed "menu_bar_per_display"
      	to "show_menubar". Removed GIMP_PARAM_RESTART flag.
      
      	* app/display/gimpdisplayshell.[ch]: chaged shell->item_factory to
      	shell->menubar_factory plus shell->popup_factory and always create
      	both of them. Added "gboolean update_popup" to
      	gimp_display_shell_set_menu_sensitivity() and call it recursively
      	with update_popup == TRUE if the display it is called for is the
      	active one.
      
      	* app/display/gimpdisplay.c
      	* app/display/gimpdisplayshell-callbacks.c: changed accordinly.
      
      	* app/gui/gui.c: ditto. Set the menu sensitivity of new displays.
      
      	* app/gui/menus.c: added "<Image>/View/Toggle Menubar" menu item.
      	Moved some factory initialization code from gimpdisplayshell.c
      	here.
      
      	* app/gui/view-commands.[ch]: added
      	view_toggle_menubar_cmd_callback(). Update the menu sensitivity
      	manually in all callbacks which don't call gimp_image_flush().
      
      	* app/gui/preferences-dialog.c (prefs_dialog_new): moved the "Show
      	Menubar" toggle to the "Appearance" frame of the "Image Windows"
      	page. Added an own frame for the display zoom/scaling settings.
      
      	(preferences_dialog_create): Attach config_copy and config_orig
      	using g_object_set_data_full() instead of just g_object_set_data()
      	plus a g_object_weak_ref().
      
      	(prefs_default_resolution_callback): set the resolution for both
      	fields of the "size_sizeentry" instead of setting it for "x"
      	twice.
      f03b6b6d
  17. 10 Dec, 2002 1 commit
    • Michael Natterer's avatar
      The unbelievable happened: a menu bar per display (optionally) · b1ebd9cd
      Michael Natterer authored
      2002-12-10  Michael Natterer  <mitch@gimp.org>
      
      	The unbelievable happened: a menu bar per display (optionally)
      
      	* app/widgets/gimpitemfactory.[ch]: Added the possibility to have
      	more than one item factory per <Prefix>. Added
      	gimp_item_factories_set_foobar() variants of all functions which
      	set menu item properties (label, sensitive, ...). Removed
      	the #ifndef ENABLE_NLS code since that's no longer possible.
      
      	* app/widgets/gimptoolbox.c: made it robust againt the <Image>
      	factory not existing at the time of toolbox creation.
      
      	* app/config/gimpconfig-blurbs.h
      	* app/config/gimpdisplayconfig.[ch]: added boolean
      	"menu_bar_per_display" property.
      
      	* app/gui/preferences-dialog.c: added a toggle for the new option.
      
      	* app/gui/menus.[ch]: added menus_get_new_image_factory() as
      	temporary solution. Will add a GimpMenuFactory which creates the
      	item factories soon.
      
      	* app/display/gimpdisplayshell.c: add the menu bar if requested.
      	Changed widget packing slightly for the menu bar case.
      
      	* app/display/gimpdisplayshell-callbacks.c: changed accordingly.
      	Currently there is no right-click popup menu when we have a menu
      	bar. This will change soon.
      
      	* app/gui/file-dialog-utils.c
      	* app/gui/gui.c: use gimp_item_factories_set_foo().
      
      	* app/gui/channels-commands.c
      	* app/gui/dialogs-commands.c
      	* app/gui/dialogs-constructors.c
      	* app/gui/drawable-commands.c
      	* app/gui/edit-commands.c
      	* app/gui/file-commands.c
      	* app/gui/image-commands.c
      	* app/gui/layers-commands.c
      	* app/gui/plug-in-commands.c
      	* app/gui/select-commands.c
      	* app/gui/tools-commands.c
      	* app/gui/vectors-commands.c
      	* app/gui/view-commands.c: per-display item factories pass the
      	GimpDisplay as user_data to callbacks, not a Gimp. Changed all
      	return_if_no_foo() macros to handle both cases.
      
      	Cleaned up the plug-in menu stuff:
      
      	* app/plug-in/plug-in-types.h: removed PlugInMenuEntry type.
      
      	* app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as
      	counterpart to plug_ins_proc_def_remove(). Added
      	plug_ins_locale_domain() as counterpart to plug_ins_help_path().
      	Remember the locale domains just as the help paths. Changed
      	plug-in initialization so that their menus can be created multiple
      	times.
      
      	* app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of
      	doing it manually.
      
      	* app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which
      	just registers the locale domains. Changed plug_in_make_menu() to
      	take a list of proc_defs, not plug_ins_defs so it can be used
      	after plug-in query.
      b1ebd9cd
  18. 05 Dec, 2002 1 commit
    • Michael Natterer's avatar
      Cleaned up the exit process: · b2c3f018
      Michael Natterer authored
      2002-12-05  Michael Natterer  <mitch@gimp.org>
      
      	Cleaned up the exit process:
      
      	* app/core/gimp.[ch]: added an "exit" signal which carries a
      	"gboolean kill_it" parameter and has a boolean return value.
      	Added gimp_boolean_handled_accumulator() so the emission of "exit"
      	can be stopped by returning TRUE from a callback.  Removed
      	gimp_shutdown() from the public API and made it "exit"'s default
      	implementation. Addec gimp_exit() to emit the signal.
      
      	* app/core/gimpmarshal.list: added BOOLEAN__BOOLEAN marshaller.
      
      	* app/gui/gui.[ch]: Replaced public functions gui_shutdown() and
      	gui_exit() by "exit" callbacks. g_signal_connect_after() the
      	latter so the shutdown order is correct.
      
      	* app/app_procs.[ch]: removed app_exit() and connect to "exit".
      	Split the exit stuff into normal and connect_after callbacks as
      	above.
      
      	* app/batch.c
      	* app/gui/file-commands.c
      	* tools/pdbgen/pdb/misc.pdb
      	* app/widgets/gimptoolbox.c: call gimp_exit() instead of
      	app_exit(). Don't #include "app_procs.h".
      
      	* app/pdb/misc_cmds.c: regenerated.
      b2c3f018
  19. 03 Dec, 2002 2 commits
    • Michael Natterer's avatar
      renamed gdisplays_reconnect() to gimp_displays_reconnect() and added a · 9775e144
      Michael Natterer authored
      2002-12-03  Michael Natterer  <mitch@gimp.org>
      
      	* app/display/gimpdisplay-foreach.[ch]: renamed
      	gdisplays_reconnect() to gimp_displays_reconnect() and added a
      	"Gimp" parameter.
      
      	* app/gui/file-commands.c
      	* tools/pdbgen/pdb/display.pdb: changed accordingly.
      
      	* tools/pdbgen/pdb/brush_select.pdb
      	* tools/pdbgen/pdb/gradient_select.pdb
      	* tools/pdbgen/pdb/palette_select.pdb
      	* tools/pdbgen/pdb/pattern_select.pdb: some irrelevant
      	code cleanups to make them look the same.
      
      	* tools/pdbgen/pdb/message.pdb: changed $desc from "Interface"
      	to "Message procedures".
      
      	* tools/pdbgen/pdb/transform_tools.pdb: changed $desc from
      	"Tool procedures" to "Transform Tool procedures".
      
      	* app/pdb/brush_select_cmds.c
      	* app/pdb/display_cmds.c
      	* app/pdb/gradient_select_cmds.c
      	* app/pdb/internal_procs.c
      	* app/pdb/palette_select_cmds.c
      	* app/pdb/pattern_select_cmds.c: regenerated.
      9775e144
    • Michael Natterer's avatar
      named the menu separator "/fg-bg-separator", not just "/---". · 9eb748ad
      Michael Natterer authored
      2002-12-03  Michael Natterer  <mitch@gimp.org>
      
      	* libgimpwidgets/gimpcolorbutton.c: named the menu separator
      	"/fg-bg-separator", not just "/---".
      
      	* app/widgets/gimpcolorpanel.[ch]: added a GimpContext pointer to
      	get FG/BG from. Don't use "the_gimp" and don't include
      	"app_procs.h".  Added gimp_color_panel_set_context(). Hide the
      	FG/BG menu entries if we have no context.
      
      	* app/gui/channels-commands.c
      	* app/gui/preferences-dialog.c
      	* app/gui/qmask-commands.c
      	* app/display/gimpdisplayshell.c: set the color_panel's context.
      9eb748ad
  20. 02 Dec, 2002 1 commit
    • Michael Natterer's avatar
      use GError for reporting load/save errors. Added gimp_data_error_quark() · 4ccd0f0a
      Michael Natterer authored
      2002-12-02  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdata.[ch]: use GError for reporting load/save
      	errors. Added gimp_data_error_quark() and a GimpDataError enum.
      	Made simple virtual functions out of save(), get_extension()
      	and duplicate() because they don't need to be signals.
      
      	* app/core/gimpbrush.[ch]
      	* app/core/gimpbrushgenerated.[ch]
      	* app/core/gimpbrushpipe.[ch]
      	* app/core/gimpgradient.[ch]
      	* app/core/gimppalette.[ch]
      	* app/core/gimppattern.[ch]: changed accordingly. Set data->dirty
      	to FALSE in each _load() function.
      
      	* app/core/gimpdatafactory.[ch]: report GError messages here.
      	Changed the ugly factory->path pointer location hack to
      	factory->path_property_name and get the path from
      	factory->gimp->config. Added gimp_data_factory_data_duplicate()
      	implementation which was already declared in the header.
      
      	* app/core/gimp.c: pass the path property name to
      	gimp_data_factory_new().
      
      	* app/widgets/gimpdatafactoryview.c: removed the duplicate
      	implementation and call gimp_data_factory_data_duplicate().
      
      	* app/core/gimpgradient.[ch]: added gimp_gradient_save_as_pov().
      
      	* app/gui/gradients-commands.c: removed save_as_pov implementation
      	and call gimp_gradient_save_as_pov().
      4ccd0f0a
  21. 30 Nov, 2002 1 commit
    • Michael Natterer's avatar
      removed the global "base_config" variable. · 5c86e639
      Michael Natterer authored
      2002-11-30  Michael Natterer  <mitch@gimp.org>
      
      	* app/base/base-types.h: removed the global "base_config" variable.
      
      	* app/base/base.[ch]: added "gboolean use_mmx" to base_init().
      	Don't #include "appenv.h". Pass around more parameters to reduce
      	the usage of the global "paint_options" pointer.
      
      	* app/app_procs.c: pass "use_mmx" to base_init().
      
      	* app/base/temp-buf.c: pass "temp_path" around internally. Declare
      	"base_config" extern and added a #warning.
      
      	* app/core/gimpdata.[ch]
      	* app/core/gimpbrush.[ch]
      	* app/core/gimpbrushgenerated.[ch]
      	* app/core/gimpbrushpipe.[ch]
      	* app/core/gimpgradient.[ch]
      	* app/core/gimppalette.[ch]
      	* app/core/gimppattern.[ch]: added "gboolean stingy_memory_use"
      	parameters to all _new(), _load() and _duplicate() functions.
      
      	* app/core/gimpmarshal.list: GimpData::duplicate needs an
      	OBJECT__BOOLEAN marshaller now.
      
      	* app/core/gimpdatafactory.[ch]: added a "Gimp" pointer so the
      	factory can find the config. Pass base_config->stingy_memory_use
      	to the GimpData functions changed above.
      
      	* app/core/gimp-gradients.c
      	* app/core/gimp.c
      	* app/core/gimppalette-import.c
      	* app/gui/palettes-commands.c
      	* app/widgets/gimpdatafactoryview.c: changed accordingly.
      
      	* app/core/gimpcontext.c: get "stingy_memory_use" from
      	context->gimp->config.
      5c86e639
  22. 18 Nov, 2002 1 commit
    • Sven Neumann's avatar
      Finally landed the new GimpConfig based gimprc parser. It's not finished · 073e533a
      Sven Neumann authored
      2002-11-18  Sven Neumann  <sven@gimp.org>
      
      	Finally landed the new GimpConfig based gimprc parser. It's not
      	finished yet but we need to start somewhere. This release removes
      	the old gimprc.[ch] files. The gimprc format changes slightly, but
      	the changes are minimal. The Preferences dialog is temporarily
      	disabled since it still needs to be ported. If you are are afraid,
      	stay away from CVS for a few days ;-)
      
      	* app/Makefile.am
      	* app/gimprc.[ch]: removed the old gimprc system.
      
      	* app/base/Makefile.am
      	* app/base/base-config.[ch]: removed these files in favor of
      	config/gimpbaseconfig.[ch].
      
      	* app/core/Makefile.am
      	* app/core/gimpcoreconfig.[ch]: removed these files in favor of
      	config/gimpcoreconfig.[ch].
      
      	* app/config/Makefile.am
      	* app/config/config-types.h: moved typedefs into this new file.
      
      	* app/config/gimpbaseconfig.[ch]
      	* app/config/gimpcoreconfig.[ch]
      	* app/config/gimpdisplayconfig.[ch]
      	* app/config/gimpguiconfig.[ch]
      	* app/config/gimprc.[ch]
      	* app/config/test-config.c: brought into shape for real use.
      
      	* app/base/base-types.h: include config/config-types.h here. Added
      	a global GimpBaseConfig *base_config variable to ease migration.
      
      	* app/gui/Makefile.am: temporarily disabled the preferences dialog.
      
      	* app/app_procs.c
      	* app/undo.c
      	* app/undo_history.c
      	* app/base/base.[ch]
      	* app/base/gimphistogram.c
      	* app/base/pixel-processor.c
      	* app/base/temp-buf.c
      	* app/base/tile-cache.c
      	* app/core/core-types.h
      	* app/core/gimp-documents.c
      	* app/core/gimp.c
      	* app/core/gimpbrush.c
      	* app/core/gimpbrushgenerated.c
      	* app/core/gimpcontext.c
      	* app/core/gimpdrawable-transform.c
      	* app/core/gimpimage-new.c
      	* app/core/gimpimage.c
      	* app/core/gimpimagefile.c
      	* app/core/gimpmodules.c
      	* app/core/gimppattern.c
      	* app/display/Makefile.am
      	* app/display/gimpdisplay-handlers.c
      	* app/display/gimpdisplay.[ch]
      	* app/display/gimpdisplayshell-callbacks.c
      	* app/display/gimpdisplayshell-handlers.c
      	* app/display/gimpdisplayshell-layer-select.c
      	* app/display/gimpdisplayshell-render.c
      	* app/display/gimpdisplayshell-scale.c
      	* app/display/gimpdisplayshell-scroll.c
      	* app/display/gimpdisplayshell-selection.c
      	* app/display/gimpdisplayshell.[ch]
      	* app/display/gimpnavigationview.c
      	* app/file/file-save.c
      	* app/gui/device-status-dialog.c
      	* app/gui/dialogs-constructors.c
      	* app/gui/file-commands.c
      	* app/gui/file-new-dialog.c
      	* app/gui/file-open-dialog.c
      	* app/gui/file-save-dialog.c
      	* app/gui/gui.c
      	* app/gui/menus.c
      	* app/gui/paths-dialog.c
      	* app/gui/resize-dialog.c
      	* app/gui/session.c
      	* app/gui/test-commands.c
      	* app/gui/tips-dialog.c
      	* app/gui/tips-dialog.h
      	* app/gui/user-install-dialog.c
      	* app/gui/view-commands.c
      	* app/paint/gimppaintcore.c
      	* app/plug-in/plug-in.c
      	* app/plug-in/plug-ins.c
      	* app/tools/gimpbezierselecttool.c
      	* app/tools/gimpbucketfilltool.c
      	* app/tools/gimpcolorpickertool.c
      	* app/tools/gimpcroptool.c
      	* app/tools/gimpeditselectiontool.c
      	* app/tools/gimpfuzzyselecttool.c
      	* app/tools/gimpinktool.c
      	* app/tools/gimpmagnifytool.c
      	* app/tools/gimpmeasuretool.c
      	* app/tools/gimppainttool.c
      	* app/tools/gimppathtool.c
      	* app/tools/gimptexttool.[ch]
      	* app/tools/selection_options.c
      	* app/tools/tools.c
      	* app/tools/transform_options.c
      	* app/widgets/gimphelp.c
      	* app/widgets/gimpitemfactory.c
      	* app/widgets/gimpselectioneditor.c
      	* app/xcf/xcf-load.c
      	* tools/pdbgen/pdb/fileops.pdb
      	* tools/pdbgen/pdb/gimprc.pdb
      	* tools/pdbgen/pdb/image.pdb
      	* tools/pdbgen/pdb/layer.pdb
      	* tools/pdbgen/pdb/transform_tools.pdb: use the new config system
      	instead of the old gimprc stuff.
      
      	* etc/gimprc.in
      	* etc/gimprc_user.in: adapted to the new gimprc format. Will update
      	the man-page later...
      
      	* app/pdb/fileops_cmds.c
      	* app/pdb/gimprc_cmds.c
      	* app/pdb/image_cmds.c
      	* app/pdb/layer_cmds.c
      	* app/pdb/transform_tools_cmds.c
      	* libgimp/gimpgimprc_pdb.c: regenerated.
      073e533a
  23. 14 Nov, 2002 1 commit
    • Michael Natterer's avatar
      removed the old hack which sets tool->gdisp. Fixes bug #98056. · 1f3bd288
      Michael Natterer authored
      2002-11-14  Michael Natterer  <mitch@gimp.org>
      
      	* app/gui/tools-commands.c (tools_select_cmd_callback): removed
      	the old hack which sets tool->gdisp. Fixes bug #98056.
      
      	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_initialize):
      	set tool->gdisp here because the hack was there for tools which
      	implement initialize() and show dialogs when selected from the
      	menu. Also fixed wrong paramater to gimp_viewable_dialog_new().
      1f3bd288
  24. 01 Nov, 2002 1 commit
    • Michael Natterer's avatar
      added "gimage" and "uri" parameters to file_open_dialog_show(). If an · 94f8431f
      Michael Natterer authored
      2002-11-01  Michael Natterer  <mitch@gimp.org>
      
      	* app/gui/file-open-dialog.[ch]: added "gimage" and "uri"
      	parameters to file_open_dialog_show(). If an image is passed, go
      	to that image's directory, for an uri, preselect the file.
      	Fixes bug #96779.
      
      	* app/gui/menus.c: pass "action" to file_open_cmd_callback() so we
      	can distinguish if it was invoked from the toolbox or an image.
      
      	* app/gui/file-commands.[ch]: if invoked from an image, pass it to
      	file_open_dialog_show().
      
      	* app/widgets/gimpdocumentview.c: pass the selected document's uri
      	to file_open_dialog_show().
      
      	* app/gui/file-save-dialog.c: use gimp_image_get_filename()
      	instead of fiddling with the image's uri manually.
      94f8431f
  25. 25 Oct, 2002 1 commit
    • Michael Natterer's avatar
      app/display/gimpdisplayshell.c app/gui/about-dialog.c · b5d27fc4
      Michael Natterer authored
      2002-10-25  Michael Natterer  <mitch@gimp.org>
      
      	* app/display/gimpdisplayshell.c
      	* app/gui/about-dialog.c
      	* app/gui/convert-dialog.c
      	* app/gui/dialogs-commands.c
      	* app/gui/file-commands.c
      	* app/gui/palette-import-dialog.c
      	* app/tools/gimptexttool.c
      	* app/widgets/gimpdialogfactory.c
      	* app/widgets/gimpdocumentview.c
      	* app/widgets/gimpwidgets-utils.c
      	* libgimpwidgets/gimpfileselection.c
      	* plug-ins/FractalExplorer/Dialogs.c
      	* plug-ins/FractalExplorer/FractalExplorer.c
      	* plug-ins/common/AlienMap.c
      	* plug-ins/common/AlienMap2.c
      	* plug-ins/common/spheredesigner.c
      	* plug-ins/flame/flame.c
      	* plug-ins/gfig/gfig.c
      	* plug-ins/gimpressionist/general.c
      	* plug-ins/gimpressionist/gimpressionist.c: replaced all sorts of
      	gtk_widget_show()/gdk_window_rise() combinations by
      	gtk_window_present().
      b5d27fc4
  26. 12 Sep, 2002 1 commit
    • Michael Natterer's avatar
      app/widgets/gimpdocumentview.[ch] app/gui/documents-commands.[ch] changed · 57d3fff3
      Michael Natterer authored
      2002-09-12  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpdocumentview.[ch]
      	* app/gui/documents-commands.[ch]
      	* app/gui/menus.c: changed icon/variables/functions to say
      	"Remove" instead of "Delete" because "Delete" is misleading (we
      	don't delete the file but just remove the entry from the document
      	history).
      57d3fff3
  27. 08 Sep, 2002 1 commit
    • Michael Natterer's avatar
      app/widgets/gimplayerlistview.c some more auto-sizing spinbuttons. · 5dc2b347
      Michael Natterer authored
      2002-09-08  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimplayerlistview.c
      	* app/gui/channels-commands.c: some more auto-sizing spinbuttons.
      
      	* app/gui/offset-dialog.c: added mnemonics for "X" and "Y".
      
      	Dialog auto-hide cleanup:
      
      	* app/widgets/gimpviewabledialog.c: close the dialog when the
      	GimpViewable goes away (special cased GimpItems which become
      	invisible on "removed"). Close the dialog by syntesizing a
      	"delete_event" instead of simply hiding or destroying it so the
      	closing method of the dialog's user gets invoked.
      
      	* app/gui/resize-dialog.[ch]: don't do the same here. Simplifies
      	the API even more as we don't have to pass the object to watch any
      	more.
      
      	* app/gui/image-commands.c
      	* app/gui/layers-commands.c: changed accordingly.
      
      	* app/undo_history.c
      	* app/gui/convert-dialog.c
      	* app/gui/qmask-commands.c
      	* app/gui/vectors-commands.c: removed all dialog auto-hiding which
      	is now done by GimpViewableDialog. Also connect more close
      	callbacks to gtk_widget_destroy() and handle shell destruction
      	accordingly, so these pseudo widgets behave more like real ones.
      
      	Tool-dialog auto-hide fix:
      
      	* app/tools/tool_manager.c: never call a tool's initialize()
      	method with a NULL gdisp (I can't follow why we did this before
      	because it's conceptually broken and makes the semantics of
      	initialize() more than unclear).
      	To be sure, added g_return_if_fail(GIMP_IS_DISPLAY(gdisp)) to
      	tool_manager_initialize_active().
      
      	* app/tools/gimpbrightnesscontrasttool.c
      	* app/tools/gimpcolorbalancetool.c
      	* app/tools/gimpcurvestool.c
      	* app/tools/gimphistogramtool.c
      	* app/tools/gimphuesaturationtool.c
      	* app/tools/gimpimagemaptool.c
      	* app/tools/gimplevelstool.c
      	* app/tools/gimpposterizetool.c
      	* app/tools/gimpthresholdtool.c: removed the recently added code
      	for handling NULL displays in initialize().
      5dc2b347
  28. 07 Sep, 2002 1 commit
    • Michael Natterer's avatar
      app/gui/file-new-dialog.c app/gui/offset-dialog.c · 991a7e5b
      Michael Natterer authored
      2002-09-07  Michael Natterer  <mitch@gimp.org>
      
      	* app/gui/file-new-dialog.c
      	* app/gui/offset-dialog.c
      	* app/gui/preferences-dialog.c
      	* app/gui/resolution-calibrate-dialog.c
      	* app/gui/user-install-dialog.c: replaced some more pixel sizes by
      	char sizes. Tweaked table spacings. Mnemonics.
      
      	* app/gui/info-dialog.[ch]: internal cleanup.
      
      	* app/gui/resize-dialog.[ch]: same here. Removed the "cancel_cb"
      	from the API and simply destroy the dialog on "Cancel". Makes the
      	dialog construction less weird.
      
      	* app/gui/image-commands.c
      	* app/gui/layers-commands.c: changed accordingly. Same cleanups
      	as above.
      991a7e5b
  29. 02 Sep, 2002 1 commit
    • Michael Natterer's avatar
      DND cleanup part 1: · c5d4b702
      Michael Natterer authored
      2002-09-02  Michael Natterer  <mitch@gimp.org>
      
      	DND cleanup part 1:
      
      	* app/widgets/gimpdnd.[ch]: changed all gimp_dnd_*_dest_set() and
      	_unset() functions to _dest_add() and _dest_remove(). Switch from
      	using static arrays of GtkTargetEntries to dynamic GtkTargetLists.
      	The _add() and _remove() functions configure the drag dest
      	automatically if not already done, so there is no need to call
      	gtk_drag_dest_set() on the widget any more. Drag source cleanup
      	will follow...
      
      	Renamed silly function names gimp_gtk_* to gimp_dnd_*
      
      	* app/display/gimpdisplayshell.c
      	* app/tools/gimpblendtool.c
      	* app/widgets/gimpcolormapeditor.c
      	* app/widgets/gimpcontainerview.c
      	* app/widgets/gimpgradienteditor.c
      	* app/widgets/gimplistitem.c
      	* app/widgets/gimpmenuitem.c
      	* app/widgets/gimppreview.c
      	* app/widgets/gimppaletteeditor.c
      	* app/widgets/gimpselectioneditor.c
      	* app/widgets/gimptoolbox-color-area.c
      	* app/widgets/gimptoolbox-indicator-area.c
      	* app/widgets/gimptoolbox.c
      	* app/gui/about-dialog.c
      	* app/gui/color-select.c
      	* app/gui/device-status-dialog.c
      	* app/gui/tool-options-dialog.c: changed accordingly. Removed
      	all calls to gtk_drag_dest_set() and their GtkTargetEntry tables.
      
      	* app/widgets/gimpchannellistitem.c: enabled some commented out
      	dnd code (which will not work since dnd needs more love...)
      
      	* app/widgets/gimpitemlistview.[ch]: added a third
      	"gboolean interactive" parameter to GimpItemNewFunc.
      
      	* app/gui/channels-commands.[ch]
      	* app/gui/layers-commands.[ch]
      	* app/gui/vectors-commands.[ch]: if the new_item_func is called
      	with "interactive == FALSE", don't pop up a dialog but silently
      	create a new item of the image's size.
      
      	* app/widgets/gimpdrawablelistview.c: use the new feature to allow
      	color and pattern drops to the "New" button, which creates a new
      	layer/channel filled with the color/pattern.
      	(special feature for drc ;-)
      
      	* app/widgets/gimppaletteeditor.c: fixed event handling so we see
      	the context menu again. Also, don't redraw on "expose", since
      	GtkPreview does that for us.
      c5d4b702
  30. 01 Sep, 2002 3 commits
    • Michael Natterer's avatar
      GimpViewableDialogs everywhere, cleanup: · ce956702
      Michael Natterer authored
      2002-09-01  Michael Natterer  <mitch@gimp.org>
      
      	GimpViewableDialogs everywhere, cleanup:
      
      	* libgimpwidgets/gimpstock.c: added texts for the RESIZE, SCALE
      	and CROP stock items.
      
      	* app/widgets/gimpviewabledialog.c: update the title when the
      	viewable's name changes.
      
      	* app/gui/color-notebook.[ch]: added color_notebook_viewable_new()
      	which creates a GimpViewableDialog.
      
      	* app/widgets/gimpgradienteditor.[ch]
      	* app/gui/colormap-editor-commands.c
      	* app/gui/file-new-dialog.c
      	* app/gui/gradient-editor-commands.c
      	* app/gui/palette-editor-commands.c
      	* app/undo_history.c: use GimpViewableDialogs and the new
      	color_notebook constructor.
      
      	* app/gui/convert-dialog.c: #include "widgets/gimpviewabledialog.h"
      
      	* app/gui/image-commands.c
      	* app/gui/info-dialog.c
      	* app/gui/resize-dialog.c: minor cleanups.
      
      	* app/gui/info-window.c: cleaned up the whole thing, esp. the
      	"Extended" page. Added HSV color display to the color picker
      	frame.  Set the icons as frame titles, stuff...
      
      	* app/tools/gimpimagemaptool.[ch]: removed "shell_title",
      	"shell_name" and "stock_id" from the GimpImageMapTool struct
      	because they can be obtained from the tool's GimpToolInfo object.
      
      	* app/tools/gimpbrightnesscontrasttool.c
      	* app/tools/gimpcolorbalancetool.c
      	* app/tools/gimpcurvestool.c
      	* app/tools/gimphuesaturationtool.c
      	* app/tools/gimplevelstool.c
      	* app/tools/gimpposterizetool.c
      	* app/tools/gimpthresholdtool.c: changed accordingly.
      
      	* app/tools/gimphistogramtool.c: same here: take values from
      	tool->tool_info instead of hardcoding them.
      
      	* app/tools/gimpcroptool.[ch]: removed the static crop dialog
      	variables and added them to the GimpCropTool struct. Feels safer
      	and makes the callback code much simpler. Use stock items for the
      	dialog's "Resize" and "Crop" buttons.
      
      	* app/tools/gimpmeasuretool.c
      	* app/tools/gimprotatetool.c: for consistency don't name the tools
      	"Blah Tool", also the dialog titles need to match the menu
      	entries.
      
      	Unrelated:
      
      	* libgimpwidgets/gimpwidgets.c: the recently changed, gtk-doc
      	comment was correct, as gtk-doc takes the parameter names from
      	the header, not the .c file.
      
      	* app/tools/gimptransformtool.c: set the transform tool's state to
      	TRANSFORM_CREATING after changing displays, so the initial matrix
      	components are saved correctly for the "Reset" function.
      ce956702
    • Michael Natterer's avatar
      oops, the callback's name has changed too :) · f81c1362
      Michael Natterer authored
      2002-09-01  Michael Natterer  <mitch@gimp.org>
      
      	* app/gui/file-commands.[ch]: oops, the callback's name has
      	changed too :)
      f81c1362
    • Michael Natterer's avatar
      Refcount layer masks correctly. Fixes layer mask undo. · f4e1ec97
      Michael Natterer authored
      2002-09-01  Michael Natterer  <mitch@gimp.org>
      
      	Refcount layer masks correctly. Fixes layer mask undo.
      
      	* app/core/gimplayer.c (gimp_layer_add_mask): ref the mask.
      
      	* app/xcf/xcf-load.c
      	* app/gui/layers-commands.c
      	* tools/pdbgen/pdb/image.pdb: unref layer masks after adding them.
      
      	* app/pdb/image_cmds.c: regenerated.
      f4e1ec97
  31. 30 Aug, 2002 1 commit
    • Michael Natterer's avatar
      app/widgets/Makefile.am app/widgets/widgets-types.h new dialog widget · cc3bdec2
      Michael Natterer authored
      2002-08-30  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpviewabledialog.[ch]: new dialog widget featuring
      	a title bar containing a stock icon, a description, the viewable's
      	name and a preview. Will be used for all viewable related dialogs
      	and serves as a common place to control their look & feel.
      
      	* app/tools/gimpimagemaptool.[ch]: removed the code which did
      	almost the same and use GimpViewableDialog.
      
      	* app/gui/info-dialog.[ch]: extended the API so it has enough
      	information to create a GimpViewableDialog.
      
      	* app/gui/channels-commands.c
      	* app/gui/convert-dialog.c
      	* app/gui/gradient-editor-commands.c
      	* app/gui/image-commands.c
      	* app/gui/info-window.c
      	* app/gui/layers-commands.c
      	* app/gui/offset-dialog.c
      	* app/gui/qmask-commands.c
      	* app/gui/resize-dialog.c
      	* app/gui/vectors-commands.c
      	* app/tools/gimpcolorpickertool.c
      	* app/tools/gimpcroptool.c
      	* app/tools/gimphistogramtool.c
      	* app/tools/gimpmeasuretool.c
      	* app/tools/gimpperspectivetool.c
      	* app/tools/gimprotatetool.c
      	* app/tools/gimpscaletool.c
      	* app/tools/gimpsheartool.c: use GimpViewableDialogs
      
      	* themes/Default/gtkrc: apply the dialog style to "*Gimp*Dialog*",
      	not only "*GimpDialog*" so it covers GimpViewableDialog.
      cc3bdec2
  32. 27 Aug, 2002 1 commit