Commit Graph

1553 Commits

Author SHA1 Message Date
5f5e0bf5d6 Refactored the GimpDisplayShell update/draw code:
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 12:16:43 +00:00
94bdcbcc01 app/widgets/Makefile.am app/widgets/widgets-types.h new GimpEditor
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 15:40:15 +00:00
c8b4394d71 Reimplemented the undo history:
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-20 12:47:42 +00:00
4a8118070a added plug_ins_proc_def_find() which takes a ProcRecord and returns the
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-18 14:08:14 +00:00
fefaa3092f added "undo_desc" parameters.
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 13:33:29 +00:00
7a6a8d9dbb Moved the undo step implementations to the core and pass around lots of
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.
2003-02-14 14:14:29 +00:00
b600fd8605 changed FOO_UNDO enum values to GIMP_UNDO_FOO.
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.
2003-02-13 11:23:50 +00:00
be70105d3b Moved the undo system to the core: Keep GimpUndoStack objects as undo and
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.
2003-02-12 17:11:34 +00:00
436ed648e8 added new virtual function duplicate() as replacement for all
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.
2003-02-11 13:52:47 +00:00
af330e9659 added lots of members for the complete state of the plug-ins.
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.
2003-02-11 12:07:31 +00:00
a071be69ae added a "const gchar *extension" parameter to
2003-02-10  Michael Natterer  <mitch@gimp.org>

	* app/tools/tool_options.[ch]: added a "const gchar *extension"
	parameter to gimp_tool_options_[de]serialize(). Default to
	"default" if NULL is passed.

	* app/tools/tool_manager.[ch]: load the tool_options from the
	default files in tool_manager_restore(), added tool_manager_save()
	which saves the default files.

	* app/app_procs.c: call tool_manager_save() on app exit.

	* app/gui/tool-options-dialog.c: pass "user" when loading/saving
	the user defaults. Changed tooltips of the load & save buttons.
2003-02-10 11:46:10 +00:00
eb6e907b36 simplified everything a lot by merging the public GimpContextPropType enum
2003-02-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.[ch]: simplified everything a lot by
	merging the public GimpContextPropType enum with the internal
	anonymous object property id enum. Removed the internal copy_prop
	functions and handle property copying in a big switch() in
	gimp_context_copy_property(). Removed the separate signal
	connections for each property of the parent context and do the
	same using a single "notify" handler. Emit "notify" signals all
	over the place.  Removed internal arrays which are no longer
	needed due to enum merge and copy_property simplification.
	Removed the array of signal names and use g_signal_name().
	Removed gimp_context_unset_parent() and allow "parent" being NULL
	in gimp_context_set_parent().

	* app/tools/tool_manager.c
	* app/widgets/gimpdevices.c: changed accordingly.

	* libgimptool/gimptooltypes.h: changed GimpToolOptionsGUIFunc to
	return a GtkWidget (the created tool options widget).

	* libgimptool/gimptoolmodule.c: #include <gtk/gtk.h>

	* app/tools/tool_options.[ch]: removed the "main_vbox" from the
	GimpToolOptions struct. Changed gimp_tool_options_gui() to create
	and return the main_vbox.

	* app/tools/tool_manager.c: create the "This Tool has no Options"
	label here if NULL was passed as "options_gui_func". Attach the
	options widget to the tool_options object using
	g_object_set_data().

	* app/gui/tool-options-dialog.c: changed accordingly.

	* app/tools/gimpairbrushtool.c
	* app/tools/gimpblendoptions.[ch]
	* app/tools/gimpbucketfilloptions.[ch]
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorpickeroptions.[ch]
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcropoptions.[ch]
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpflipoptions.[ch]
	* app/tools/gimpinkoptions.[ch]
	* app/tools/gimpmagnifyoptions.[ch]
	* app/tools/gimpmeasureoptions.[ch]
	* app/tools/gimpmoveoptions.[ch]
	* app/tools/gimpselectionoptions.[ch]
	* app/tools/gimpsmudgetool.c
	* app/tools/gimptextoptions.[ch]
	* app/tools/gimptransformoptions.[ch]
	* app/tools/gimpvectoroptions.[ch]
	* app/tools/paint_options.[ch]: return the options vbox from
	all tool_options_gui functions.
2003-02-09 17:32:52 +00:00
4bd30b8c3c added gimp_tool_options_[de]serialize() utility functions.
2003-02-09  Michael Natterer  <mitch@gimp.org>

	* app/tools/tool_options.[ch]: added
	gimp_tool_options_[de]serialize() utility functions.

	* app/gui/tool-options-dialog.c: use them, cleanup.
2003-02-08 23:56:16 +00:00
7fe80e8dc8 the virtual serialize_property() returning FALSE doesn't mean the
2003-02-08  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig-serialize.c (gimp_config_serialize_property):
	the virtual serialize_property() returning FALSE doesn't mean the
	serialization failed but that the function didn't handle the
	property, so don't error but continue with the default
	implementation. Print newlines after properties only if
	indent_level == 0.

	* app/gui/tool-options-dialog.c: added tool options saving/loading
	as quickly hacked proof-of-concept.

	* app/paint/paint-enums.[ch]: added enum GimpInkBlobType.

	* app/tools/gimpinkoptions.[ch]: ported to object properties,
	cleanup.

	* app/tools/gimpinktool.c: changed accordingly.
2003-02-08 15:27:51 +00:00
eeec3cedb8 Added object properties for almost all tool_options values and registered
2003-02-07  Michael Natterer  <mitch@gimp.org>

	Added object properties for almost all tool_options values
	and registered lots of enums with the type system:

	Part I (enum and type cleanup):

	* app/core/core-enums.[ch]
	* app/core/core-types.h: removed InternalOrientaionType and
	register GimpOrientationType. Register GimpChannelOps.
	Removed GimpToolOptionsGUIFunc.

	* app/xcf/xcf-private.h: added XcfOrientationType with the
	same values as the old InternalOrientationType

	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c: translate between GimpOrientationType and
	XcfOrientationType.

	* app/core/gimpdrawable-transform-utils.[ch]
	* app/core/gimpdrawable-transform.[ch]
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-guides.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage.h
	* app/display/gimpdisplayshell.c
	* tools/pdbgen/stddefs.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.

	* app/pdb/guides_cmds.c
	* app/pdb/transform_tools_cmds.c
	* libgimp/gimpenums.h
	* libgimpproxy/gimpproxytypes.h
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.

	* libgimptool/gimptoolenums.[ch]: added GimpTransformGridType.

	* libgimptool/gimptooltypes.h: removed GimpToolOptionsResetFunc,
	added GimpToolOptionsGUIFunc.

	Part II (tool options changes):

	* app/config/gimpconfig-utils.c (gimp_config_reset_properties):
	don't reset object properties because they have NULL as default
	value.

	* app/widgets/gimppropwidgets.[ch]: added
	gimp_prop_[enum|boolean]_radio_frame_new(),
	gimp_prop_paint_mode_menu_new() and gimp_prop_scale_entry_new(),
	which are all needed by the new tool options GUI code.

	* app/tools/tool_options.[ch]: removed the "reset_func" since
	the virtual reset() method is used now.

	* app/paint/gimpairbrushoptions.[ch]
	* app/paint/gimpcloneoptions.[ch]
	* app/paint/gimpconvolveoptions.[ch]
	* app/paint/gimpdodgeburnoptions.[ch]
	* app/paint/gimperaseroptions.[ch]
	* app/paint/gimppaintoptions.[ch]
	* app/paint/gimpsmudgeoptions.[ch]: added properties all over the
	place and removed the widget and default_value members from
	the structs. Renamed some values (e.g. s/type/clone_type/).
	Don't #include <gtk/gtk.h>.

	* 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-stroke.c
	* app/paint/gimppaintcore.c
	* app/paint/gimppencil.c
	* app/paint/gimpsmudge.c
	* app/paint/paint-types.h
	* app/paint/paint.c: changed accordingly. Don't #include <gtk/gtk.h>.

	* tools/pdbgen/pdb/paint_tools.pdb: changed accordingly.

	* app/pdb/paint_tools_cmds.c: regenerated.

	* app/tools/gimpblendoptions.[ch]
	* app/tools/gimpbucketfilloptions.[ch]
	* app/tools/gimpcolorpickeroptions.[ch]
	* app/tools/gimpcropoptions.[ch]
	* app/tools/gimpflipoptions.[ch]
	* app/tools/gimpinkoptions.c
	* app/tools/gimpmagnifyoptions.[ch]
	* app/tools/gimpmeasureoptions.[ch]
	* app/tools/gimpmoveoptions.[ch]
	* app/tools/gimptextoptions.c
	* app/tools/paint_options.[ch]
	* app/tools/selection_options.[ch]
	* app/tools/transform_options.[ch]: ditto: added properties and
	removed widget and default_value stuff. Removed most reset functions.
	Use gimp_prop widgets all over the place, renamed some values
	as above.

	* app/tools/Makefile.am
	* app/tools/gimpairbrushtool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimpsmudgetool.c
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectoroptions.c: changed accordingly. Ported
	the paint_options GUI constructors to gimp_prop widgets.

	* app/widgets/gimpselectioneditor.c
	* app/gui/tool-options-dialog.c: changed accordingly.
2003-02-07 17:12:21 +00:00
ba246fb10c removed /Filters/Text menu branch now that we don't install any plug-in
2003-02-06  Sven Neumann  <sven@gimp.org>

	* app/gui/image-menu.c (image_menu_entries): removed /Filters/Text
	menu branch now that we don't install any plug-in there and
	gimp-freetype is becoming obsolete.
2003-02-05 23:07:46 +00:00
2db2ef6185 removed gimp_main_loop() and gimp_main_loop_quit() because they were a
2003-02-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: removed gimp_main_loop() and
	gimp_main_loop_quit() because they were a temp_hack until plug-ins
	have their own main loops. Added gimp_threads_enter() and
	gimp_threads_leave() instead.

	* app/gui/gui.c: ditto: removed the main loop stuff and added
	functions which call GDK_THREADS_ENTER() and GDK_THREADS_LEAVE()
	instead.

	* app/app_procs.c: create the main GMainLoop here and use
	gimp_threads_enter,leave().

	* app/plug-in/plug-in.[ch]: added a ref_count per plug-in so the
	plug-in is not destroyed under our feet while running a recursive
	main loop. Added plug_in_ref(). Changed plug_in_destroy() to
	plug_in_unref(). Don't destroy the plug-in if plug_in_open()
	fails. Call gimp_threads_enter,leave() around g_main_loop_run().
	Changed the way plug_in_push,pop() are used: "current_plug_in" is
	no longer the plug-in which currently uses the wire, but the
	plug-in which currently preforms a PDB call (the former meaning
	was needed when wire callbacks had no plug-in context but needed
	to get the plug-in from the global "current_plug_in" variable).
	Removed all calls to plug_in_push,pop() from this file.

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): added
	plug_in_push,pop() around procedural_db_execute(). No need
	to construct an error return value if the procedure was not found
	because procedural_db_execute() already does this.

	Removed all other plug_in_push,pop(). Added more checks to plug-in
	message handlers and kill the plug-in if it misbehaves. Cleanup.

	* app/plug-in/plug-in-progress.c (plug_in_progress_cancel): if the
	plug-in runs synchronously, provide a GIMP_PDB_CANCEL return value
	so we don't see error messages about the "failed" procedure.

	* app/plug-in/plug-in-run.c: removed plug_in_push,pop() stuff.
	Set the new plug_in->starting_ext boolean while starting an
	extension so the extension_ack handler knows that it wasn't called
	from a buggy plug-in. Cleanup.

	* app/plug-in/plug-ins.c: Cleanup.
2003-02-03 13:21:31 +00:00
794885e297 added gimp_item_configure() and gimp_item_copy().
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().
2003-01-31 18:08:32 +00:00
5f57c07fa5 removed.
2003-01-31  Michael Natterer  <mitch@gimp.org>

	* app/gui/file-dialog-utils.[ch] (file_dialog_update_menus): removed.

	* app/gui/file-save-menu.[ch] (file_save_menu_update): added here.

	* app/gui/menus.c: register it as non-automatic update_func.

	* app/gui/file-save-dialog.c: changed accordingly.
2003-01-31 11:54:16 +00:00
a3c388149d renamed plug_in->busy to plug_in->in_temp_proc. Added a stack of
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.
2003-01-30 11:20:12 +00:00
3aa36bbb13 removed unused function gimp_prop_enum_option_menu_new_with_values() which
2003-01-29  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimppropwidgets.[ch]: removed unused function
	gimp_prop_enum_option_menu_new_with_values() which caused problems
	on some platforms (fixes bug #102514).

	* app/gui/preferences_dialog.c: removed some unused code.
2003-01-29 15:55:13 +00:00
4463cdd0ed pack the button box non-expanding, removed cruft from the ModuleBrowser
2003-01-29  Michael Natterer  <mitch@gimp.org>

	* app/gui/module-browser.c: pack the button box non-expanding,
	removed cruft from the ModuleBrowser struct.
2003-01-29 11:08:51 +00:00
416049f460 commented out debugging output.
2003-01-27  Sven Neumann  <sven@gimp.org>

	* app/gui/preferences-dialog.c: commented out debugging output.
2003-01-27 13:41:27 +00:00
1ca73a96d5 app/core/gimpbrushpipe.c plugged some obvious memleaks related to the use
2003-01-26  Sven Neumann  <sven@gimp.org>

	* app/core/gimpbrushpipe.c
	* app/gui/about-dialog.c: plugged some obvious memleaks related to
	the use of GRand.
2003-01-26 14:27:53 +00:00
51785c1d5b app/core/gimpdocumentlist.[ch] added "Gimp" pointers so we don't need to
2003-01-24  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdocumentlist.[ch]
	* app/core/gimpimagefile.[ch]: added "Gimp" pointers so we don't
	need to use "the_gimp" from "app_procs.h".

	* app/core/core-types.h
	* app/core/gimp.c
	* app/gui/file-open-dialog.c
	* tools/pdbgen/pdb/fileops.pdb: changed accordingly.

	* app/pdb/fileops_cmds.c: regenerated.
2003-01-24 17:38:24 +00:00
850cdc6eff made labels in the info dialog selectable as suggested in #103991.
2003-01-20  Sven Neumann  <sven@gimp.org>

	* app/gui/info-dialog.c (info_dialog_add_label): made labels in
	the info dialog selectable as suggested in #103991.
2003-01-20 20:07:19 +00:00
d407244f7e renamed plug_in_progress_init() to plug_in_progress_start() so it matches
2003-01-20  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-progress.[ch]: renamed plug_in_progress_init()
	to plug_in_progress_start() so it matches plug_in_progress_end().
	Added g_return_if_fail() to all functions.

	* app/plug-in/plug-in.[ch]: plug_in_new(): require the passed
	path to be absolute. Removed plug_in_search_in_path(). Replaced
	some if(plug_in){...} by g_return_if_fail(plug_in!=NULL). Cleanup.

	* app/plug-in/plug-ins.c: plug_ins_def_add_from_rc(): refuse to
	add plug_in_defs with non-absolute paths (should never happen).
	Misc cleanup all over the place like s/GSList *tmp/GSList *list/.

	* app/plug-in/plug-in-params.c: cleanup.

	* tools/pdbgen/pdb/plug_in.pdb: changed accordingly.

	* app/pdb/plug_in_cmds.c: regenerated.

	* app/gui/brush-select.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: some code review & cleanup.
2003-01-20 12:17:32 +00:00
a31c0f7d19 One more Plug-In cleanup, it's still a mess...
2003-01-17  Michael Natterer  <mitch@gimp.org>

	One more Plug-In cleanup, it's still a mess...

	* app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field
	to "needs_query". Added setters for all values. Added
	g_return_if_fail() stuff to all functions.

	* app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new().
	Removed the "gboolean data_only" parameter from
	plug_in_proc_def_destroy() and renamed it to
	plug_in_proc_def_free().  Added plug_in_proc_def_get_progname()
	which handles GIMP_TEMPORARY procedures correctly.

	* app/plug-in/plug-in-rc.c: use the new stuff above.

	* app/plug-in/plug-in.[ch]: renamed field "user_data" to
	"plug_in_def" and added a comment that it is valid only during
	query() and init().  Use the new APIs above. Pass meaningful
	locale_domains and help_paths when adding temporary procedures
	(fixes Scrip-Fu menu translation the right way (TM)). Cleanup.

	* app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to
	plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]()
	to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters
	to plug_ins_help_path() and plug_ins_locale_domain(). Removed
	unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types().
	Reverse gimp->load_procs and gimp->save_procs after all procedures
	are registered. Removed Script-Fu translation hack. Reordered stuff.

	* app/gui/plug-in-menus.[ch]: changed accordingly. Named all
	public functions plug_in_menus_*(). Fixed Script-Fu menu translation
	by using plug_in_proc_def_get_progname(). Cleanup.

	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs
	and gimp->save_procs here.

	* app/gui/toolbox-menu.c
	* app/gui/image-menu.c
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/plug_in.pdb: changed accordingly.

	* app/pdb/help_cmds.c
	* app/pdb/plug_in_cmds.c: regenerated.

	Unrelated:

	* app/gui/image-menu.c
	* app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't
	get why the "1" was there. Minor cleanup.
2003-01-17 18:07:37 +00:00
248dbd1e93 app/core/gimpchannel.h app/core/gimpitem.c
2003-01-14  Manish Singh  <yosh@gimp.org>

        * app/core/gimpchannel.h
        * app/core/gimpitem.c
        * app/display/gimpnavigationview.c
        * app/gui/paths-dialog.c
        * app/tools/gimphistogramtool.c
        * app/tools/gimpscaletool.c
        * app/widgets/gimplistitem.c
        * libgimp/gimppixelrgn.c
        * libgimpwidgets/gimpunitmenu.c
        * plug-ins/FractalExplorer/Dialogs.c
        * plug-ins/common/aa.c
        * plug-ins/common/despeckle.c
        * plug-ins/common/psd.c
        * plug-ins/common/sharpen.c
        * plug-ins/common/snoise.c
        * plug-ins/common/spread.c
        * plug-ins/ifscompose/ifscompose.c
        * plug-ins/xjt/xjt.c: some minor code cleanup

        * plug-ins/common/csource.c: 64-bit cleanliness
2003-01-15 03:55:20 +00:00
f721275a69 app/gui/image-menu.c applied a patch from Henrik Brix Andersen that
2003-01-14  Sven Neumann  <sven@gimp.org>

	* app/gui/image-menu.c
	* plug-ins/common/threshold_alpha.c: applied a patch from Henrik
	Brix Andersen that changes the Alpha menu to Transparency (#89275).
2003-01-14 13:53:24 +00:00
6f29b766e8 app/gui/brushes-menu.[ch] app/gui/buffers-menu.[ch]
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.
2003-01-13 14:08:10 +00:00
f44500aa69 pass the GimpItemListView as "data" to the item_factory callbacks, not
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).
2003-01-12 12:35:00 +00:00
ed312c95ab app/app_procs.c (app_init) delayed the activation of gimprc-autosave so we
2003-01-10  Sven Neumann  <sven@gimp.org>

	* app/app_procs.c (app_init)
	* app/core/gimp.c (gimp_set_config): delayed the activation of
	gimprc-autosave so we don't write the monitor resolution obtained
	from GDK back to the gimprc on each startup.

	* app/gui/gui.c (gui_get_screen_resolution): round values to get
	rid of rounding errors introduced earlier. Looks better in the
	prefs dialog.

	* app/display/gimpdisplayshell-scale.c (gimp_display_shell_scale):
	merged fix for bug #94979 from stable branch. Go even further and
	don't limit the zoom ratio between 1:16 and 16:1.

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): merged
	fix for bug #103030 from stable branch.
2003-01-10 21:15:41 +00:00
dd27eb1ec9 app/widgets/gimpcolormapeditor.c app/widgets/gimpcontainereditor.[ch] pass
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".
2003-01-10 19:30:32 +00:00
8d86ec25e0 Move away from creating all item_factories statically in menus_init() but
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.
2003-01-10 17:55:53 +00:00
a46305046a prefixed ALL, NONE, GROW and SHRINK with SELECTION_ since they should only
2003-01-10  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpstock.[ch]: prefixed ALL, NONE, GROW and
	SHRINK with SELECTION_ since they should only be used for in a
	selection context. Register a few icons in dialog size as well.

	* app/gui/menus.c
	* app/widgets/gimpselectioneditor.c: changed accordingly.

	* themes/Default/images: renamed icons accordingly.

	* plug-ins/common/uniteditor.c: use stock items.
2003-01-10 13:01:41 +00:00
73403a837f make gui_libs_init() use gtk_init_check() and return a gboolean on success
2003-01-08  Manish Singh  <yosh@gimp.org>

        * app/gui.[ch]: make gui_libs_init() use gtk_init_check() and return
        a gboolean on success or failure.

        * app/main.c: reorganized so that --help and --version never need
        the gui to be initialized. Print a proper message when the gui cannot
        be initialized (perhaps recommend --no-interface?). Return nonzero
        exit status on failures.
2003-01-08 23:43:31 +00:00
bbc13c5199 removed gimp_help_init() and gimp_help_free(). Added _gimp_help_init()
2003-01-07  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimphelpui.[ch]: removed gimp_help_init() and
	gimp_help_free(). Added _gimp_help_init() instead.

	* libgimpwidgets/gimpwidgets.def: changed accordingly.

	* libgimpwidgets/gimpwidgets.c (gimp_widgets_init): call
	_gimp_help_init() so it doesn't need to be done in all plug-ins
	manually.

	* libgimp/gimpcompat.h: added gimp_help_init() and gimp_help_free()
	here as COMPAT_CRUFT.

	* app/gui/gui.c
	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/AlienMap.c
	* plug-ins/common/AlienMap2.c
	* plug-ins/common/CML_explorer.c
	* plug-ins/common/blur.c
	* plug-ins/common/curve_bend.c
	* plug-ins/common/gtm.c
	* plug-ins/common/illusion.c
	* plug-ins/common/jigsaw.c
	* plug-ins/common/plasma.c
	* plug-ins/common/polar.c
	* plug-ins/common/ps.c
	* plug-ins/common/randomize.c
	* plug-ins/common/sinus.c
	* plug-ins/common/snoise.c
	* plug-ins/common/sparkle.c
	* plug-ins/common/uniteditor.c
	* plug-ins/common/warp.c
	* plug-ins/common/wind.c
	* plug-ins/gap/gap_arr_dialog.c
	* plug-ins/gap/gap_mov_dialog.c
	* plug-ins/gap/gap_navigator_dialog.c
	* plug-ins/gdyntext/gdyntext_ui.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/gimpressionist/gimpressionist.c
	* plug-ins/maze/maze_face.c
	* plug-ins/print/gimp_main_window.c
	* plug-ins/sel2path/sel2path.c: removed the calls to
	gimp_help_init() and gimp_help_free().

	Fixed bug #81017:

	* libgimpbase/gimpprotocol.[ch]: added "guint8 show_tool_tips"
	to the GPConfig message. Increased the protocol version number.

	* app/plug-in/plug-in.c: pass the value of gui_config->show_tool_tips.

	* libgimp/gimp.[ch]: added gimp_show_tool_tips() to get the value
	which was passed in the GPConfig message.

	* libgimp/gimpui.c (gimp_ui_init): disable the tooltips
	if show_tool_tips is FALSE.

	* plug-ins/MapObject/mapobject_main.[ch]
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/jigsaw.c
	* plug-ins/gap/gap_navigator_dialog.c
	* plug-ins/gfig/gfig.c: removed all plug-in specific GUI for
	enabling/disabling tooltips.
2003-01-07 17:00:49 +00:00
fdffb13ea8 app/gui/gradient-editor-commands.c don't split translatable sentences into
2003-01-06  Sven Neumann  <sven@gimp.org>

        * app/gui/gradient-editor-commands.c
        * libgimp/gimpexport.c: don't split translatable sentences into
        multiple messages (bug #85828).
2003-01-06 01:01:02 +00:00
1a44f2126c cleanup, removed unecessary G_OBJECT() casts. Should do the same for
2003-01-05  Manish Singh  <yosh@gimp.org>

        * many files in app, modules and libgimp*: cleanup, removed unecessary
        G_OBJECT() casts. Should do the same for plug-ins, when more of them
        get undeprecated.
2003-01-05 22:07:10 +00:00
6d7ae03080 don't free the options structure twice (fixes bug #102515).
2003-01-05  Sven Neumann  <sven@gimp.org>

	* app/gui/qmask-commands.c (qmask_channel_query): don't free the
	options structure twice (fixes bug #102515).
2003-01-05 01:30:33 +00:00
ea95a3227d Replaced Garry's fix for bug #98843 by a more general solution which stops
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.
2003-01-02 13:38:09 +00:00
2ed235164f replaced the 0755 by properly or'ed symbolic values (undid this change
2003-01-02  Michael Natterer  <mitch@gimp.org>

	* app/gui/user-install-dialog.c: replaced the 0755 by properly
	or'ed symbolic values (undid this change from Sven accidentially).
2003-01-02 13:10:10 +00:00
6cd51e1962 changed some menu entries as suggested in bug #101974.
2003-01-01  Sven Neumann  <sven@gimp.org>

	* app/gui/menus.c (image_entries): changed some menu entries as
	suggested in bug #101974.

	* app/display/gimpdisplayshell.c: changed accordingly.
2003-01-01 14:37:14 +00:00
8364722f2d when checking for 'excecutable' make sure it is a regular file too (on
2003-01-01  Hans Breuer  <hans@breuer.org>

	* libgimpbase/gimpdatafiles.c : when checking for
	'excecutable' make sure it is a regular file too
	(on win32 even directories carry the IXUSR flag)

	* app/app_procs.h : there is still no #warning with
	msvc, special case to make it build with non GCC

	* makefile.msc */makefile.msc */*/makefile.msc : updated

	* app/gui/user-install-dialog.c : get prototype for mkdir

	* libgimpwidgets/libgimp-glue.c : make it compile without
	LT_RELEASE being defined

	* modules/module.def : removed
	  modules/Makefile.am : no export file needed when
	functions get exported by G_MODULE_EXPORT
2003-01-01 13:33:27 +00:00
be4b949597 reuse a translatable message instead of introducing yet another one 2002-12-30 19:46:08 +00:00
9b751c2acd some more cleanup: check the return value of fclose() in copy_file(),
2002-12-30  Michael Natterer  <mitch@gimp.org>

	* app/gui/user-install-dialog.c: some more cleanup: check the
	return value of fclose() in copy_file(), added an enum for the
	notebook pages, added '' around displayed filenames, update the
	GUI while creating the user directory, misc stuff.
2002-12-30 18:51:57 +00:00
42b01c5256 use proper defines to specify the permissions when calling mkdir().
2002-12-30  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.c (gimp_imagefile_png_thumb_path): use
	proper defines to specify the permissions when calling mkdir().

	* app/file/file-utils.c: removed redeclaration of mkdir() for
	Win32 since we don't call mkdir() here.

	* app/gui/user-install-dialog.c (user_install_run): rewrote
	copy_file() to use GError for error reporting. Use the same code
	for the user installation on all platforms. Also fixes bug #102015.

	* data/misc/Makefile.am
	* data/misc/user_install
	* data/misc/user_install.bat: removed obsoleted scripts.
2002-12-30 17:27:58 +00:00
1f47a470b3 app/app_procs.c app/core/gimp.c app/gui/gui.c removed debugging output.
2002-12-30  Sven Neumann  <sven@gimp.org>

	* app/app_procs.c
	* app/core/gimp.c
	* app/gui/gui.c
	* app/widgets/gimpitemfactory.c: removed debugging output.

	* app/plug-in/plug-ins.c: need to expand the plug_in_path before
	using it.

	* app/gui/plug-in-menus.c (plug_in_menus_init): removed an
	unneeded assertion.

	* plug-ins/imagemap/Makefile.am (EXTRA_DIST): removed references
	to files that were removed some time ago.
2002-12-30 00:01:30 +00:00
849d6c0d68 check for app/core/gimp.c instead of etc/gimprc.in which no longer exists.
2002-12-29  Sven Neumann  <neo@wintermute>

        * configure.in: check for app/core/gimp.c instead of etc/gimprc.in
        which no longer exists.

        * app/gui/user-install-dialog.c: use the term Folder instead of
        Directory (fixes bug #102016).
2002-12-29 20:59:42 +00:00