1. 14 May, 2004 2 commits
    • Sven Neumann's avatar
      check if the file procedure registered a menu path at all. The menu should · ad89332f
      Sven Neumann authored
      2004-05-14  Sven Neumann  <sven@gimp.org>
      	* app/menus/file-dialog-menu.c: check if the file procedure
      	registered a menu path at all. The menu should probably be created
      	from the registered menu path, not from gimp->[load|save]_procs.
      	* app/plug-in/plug-in-proc.[ch]
      	* app/plug-in/plug-ins.c: removed broken code that used to sort
      	the file procedures.
      	* plug-ins/common/CEL.c
      	* plug-ins/common/bz2.c
      	* plug-ins/common/gz.c
      	* plug-ins/common/pcx.c
      	* plug-ins/common/pix.c
      	* plug-ins/common/sunras.c
      	* plug-ins/sgi/sgi.c
      	* plug-ins/xjt/xjt.c: register a mimetype, set a translatable
      	action name (mostly taken from shared-mime-info) and register to
      	the <Load> and <Save> menus using gimp_plugin_menu_register().
    • Sven Neumann's avatar
      added new PDB function gimp_register_file_handler_mime() that allows to · 97fe81b4
      Sven Neumann authored
      2004-05-14  Sven Neumann  <sven@gimp.org>
      	* tools/pdbgen/pdb/fileops.pdb: added new PDB function
      	gimp_register_file_handler_mime() that allows to associate a MIME
      	type with a file procecdurre.
      	* app/pdb/fileops_cmds.c
      	* app/pdb/internal_procs.c
      	* libgimp/gimpfileops_pdb.[ch]: regenerated.
      	* app/plug-in/plug-in-proc.[ch]
      	* app/plug-in/plug-in-rc.c
      	* app/plug-in/plug-ins.[ch]: store a mimetype with file procedures.
      	* app/actions/file-commands.c
      	* app/core/gimpdocumentlist.[ch]
      	* app/core/gimpimagefile.[ch]
      	* app/file/file-open.[ch]
      	* app/file/file-save.c: set the thumbnail's mimetype from the file
      	procedure used to load/save the image.
      	* app/xcf/xcf.c
      	* plug-ins/bmp/bmp.c
      	* plug-ins/common/csource.c
      	* plug-ins/common/dicom.c
      	* plug-ins/common/gif.c
      	* plug-ins/common/gifload.c
      	* plug-ins/common/jpeg.c
      	* plug-ins/common/mng.c
      	* plug-ins/common/png.c
      	* plug-ins/common/postscript.c
      	* plug-ins/common/psd.c
      	* plug-ins/common/psd_save.c
      	* plug-ins/common/sunras.c
      	* plug-ins/common/svg.c
      	* plug-ins/common/tga.c
      	* plug-ins/common/tiff.c
      	* plug-ins/common/wmf.c
      	* plug-ins/common/xbm.c
      	* plug-ins/common/xpm.c
      	* plug-ins/common/xwd.c
      	* plug-ins/faxg3/faxg3.c
      	* plug-ins/winicon/main.c: register a mimetype, set a translatable
      	action name (taken from shared-mime-info) and register to the <Load>
      	and <Save> menus using gimp_plugin_menu_register().
  2. 06 May, 2004 1 commit
    • Michael Natterer's avatar
      Enabled multiple menu entries per plug-in procedure: · 7b943b64
      Michael Natterer authored
      2004-05-06  Michael Natterer  <mitch@gimp.org>
      	Enabled multiple menu entries per plug-in procedure:
      	* app/plug-in/plug-in-proc.[ch]: changed "gchar *menu_path" to
      	"GList *menu_paths".
      	* app/plug-in/plug-in-message.c
      	* app/plug-in/plug-in-rc.c
      	* app/plug-in/plug-in.c
      	* app/plug-in/plug-ins.c
      	* app/menus/menus.c
      	* app/widgets/gimpfiledialog.c
      	* app/xcf/xcf.c: changed accordingly.
      	* app/actions/file-dialog-actions.c
      	* app/actions/plug-in-actions.c: create an action for the first
      	element of proc_def->menu_paths.
      	* app/gui/gui-vtable.c
      	* app/menus/plug-in-menus.[ch]: create proxy widgets for each
      	element of proc_def->menu_paths.
      	* tools/pdbgen/pdb/plug_in.pdb: added new function
      	gimp_plugin_menu_add() which can be called during query() and adds
      	a menu path to a procedure registered by the calling plugin.
      	* app/pdb/internal_procs.c
      	* app/pdb/plug_in_cmds.c
      	* libgimp/gimpplugin_pdb.[ch]: regenerated.
      	* menus/image-menu.xml.in
      	* menus/toolbox-menu.xml.in: added lots of <placeholder>s for
      	logical groups (like Image/Resize, Image/Scale, Image/Crop
      	etc.). Added empty placeholder File/Send for stuff like print and
      	mail. Added an "Acquire" menu under <Image>/File
      	* plug-ins/common/mail.c
      	* plug-ins/print/print.c
      	* plug-ins/common/winprint.c: register under File/Send.
      	* plug-ins/common/screenshot.c
      	* plug-ins/winsnap/winsnap.c: also register under
      	* plug-ins/common/autocrop.c
      	* plug-ins/common/ccanalyze.c
      	* plug-ins/common/colortoalpha.c
      	* plug-ins/common/threshold_alpha.c
      	* plug-ins/common/zealouscrop.c: register additional menu entries
      	under placeholders in the "Image" and "Layer" menus. This is not
      	meant to be final but just a hint to keep in mind when
      	reorganizing the plug-in menus.
  3. 26 Apr, 2004 1 commit
    • Michael Natterer's avatar
      removed "locale_domain" and "help_domain" parameters from · b69ddb39
      Michael Natterer authored
      2004-04-26  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimp.[ch]: removed "locale_domain" and "help_domain"
      	parameters from GimpMenusCreateFunc.
      	* app/plug-in/plug-ins.c (plug_ins_temp_proc_def_add)
      	* app/actions/plug-in-actions.[ch] (plug_in_actions_add_proc_def):
      	changed accordingly.
      	* app/widgets/gimpactiongroup.[ch]: remember all created action
      	groups is a hash table in GimpActionGroupClass.  Added
      	gimp_action_groups_from_name() which returns a GList of all groups
      	with the given name.
      	* app/actions/plug-in-actions.[ch] (plug_in_actions_setup):
      	removed the tree sorting code. Actions don't need to be ordered
      	(plug_in_actions_update): copied & ported plug_in_menus_update().
      	* app/gui/gui-vtable.c (gui_menus_create,delete_entry):
      	dynamically add/remove plug-in actions in all "plug-in" action
  4. 25 Apr, 2004 1 commit
  5. 15 Apr, 2004 2 commits
    • Tor Lillqvist's avatar
      app/plug-in/plug-in-message.c (plug_in_handle_proc_install) · 2e103fa8
      Tor Lillqvist authored
      2004-04-15  Tor Lillqvist  <tml@iki.fi>
      	* app/plug-in/plug-in-message.c (plug_in_handle_proc_install)
      	* app/plug-in/plug-in-proc.h (struct _PlugInProcDef)
      	* app/plug-in/plug-in-rc.c (plug_in_rc_write)
      	* app/plug-in/plug-ins.c (plug_ins_init): Make PDB procedures
      	(including their menu entries) installed during a plug-ins init()
      	phase show up. Add a flag to PlugInProcDef that tells whether the
      	proc was installed during the init() phase. Such procs aren't
      	saved to the pluginrc. Move the code that initializes plug-ins
      	that need initialization earlier, before the procs are added to
      	the PDB and menus are built. Fixes bug #139969.
    • Michael Natterer's avatar
      Context cleanup continued: · 837fa429
      Michael Natterer authored
      2004-04-15  Michael Natterer  <mitch@gimp.org>
      	Context cleanup continued:
      	* app/core/gimpitem.[ch]: added context parameter to
      	* app/core/gimpchannel.c (gimp_channel_stroke)
      	* app/vectors/gimpvectors.c (gimp_vectors_stroke): use it to get
      	default values from instead of gimp_get_user_context().
      	* app/core/gimpselection.c
      	* app/gui/stroke-dialog.c
      	* tools/pdbgen/pdb/edit.pdb
      	* tools/pdbgen/pdb/paths.pdb: changed accordingly.
      	* app/pdb/edit_cmds.c
      	* app/pdb/paths_cmds.c: regenerated.
      	* app/plug-in/plug-in.[ch]: added GimpContext member to the PlugIn
      	struct. Added context parameter to plug_in_new(),
      	plug_in_call_query() and plug_in_call_init().
      	* app/plug-in/plug-in-run.[ch]: added context parameters to
      	plug_in_run() and plug_in_repeat().
      	* app/gui/plug-in-commands.c
      	* app/gui/vectors-commands.c
      	* app/pdb/procedural_db.c
      	* app/widgets/gimphelp.c: pass a context to plug_in_run() and
      	* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): call
      	procedures with the plug-in's context.
      	* app/plug-in/plug-ins.c: use a temporary context for running the
      	plug-ins' query() and init() functions. Use the same context for
      	running automatic extensions. This temporarily separates the main
      	Script-Fu extension from the user context (i.e. scripts have no
      	way of setting/getting the global FG, BG, brush etc.).
  6. 14 Apr, 2004 1 commit
    • Michael Natterer's avatar
      Get rid of the "current_context" which was in fact just a bunch of global · 18d9161e
      Michael Natterer authored
      2004-04-15  Michael Natterer  <mitch@gimp.org>
      	Get rid of the "current_context" which was in fact just a bunch of
      	global variables. Instead, pass the needed context all the way
      	from the GUI and the PDB to the core. This is a prerequisite for
      	macro recording and generally helps separating the various
      	subsystems from each other. Work in progress...
      	* app/core/gimp.[ch]: removed member "current_context" and
      	* app/core/gimp-edit.[ch]
      	* app/core/gimpdrawable-blend.[ch]
      	* app/core/gimpdrawable-bucket-fill.[ch]
      	* app/core/gimpdrawable-offset.[ch]
      	* app/core/gimpdrawable-transform.[ch]
      	* app/core/gimpimage-crop.[ch]
      	* app/core/gimpimage-flip.[ch]
      	* app/core/gimpimage-merge.[ch]
      	* app/core/gimpimage-resize.[ch]
      	* app/core/gimpimage-rotate.[ch]
      	* app/core/gimpimage.[ch]
      	* app/core/gimpimagefile.[ch]
      	* app/core/gimpitem-linked.[ch]
      	* app/core/gimpitem.[ch]
      	* app/core/gimplayer.[ch]
      	* app/core/gimpselection.[ch]
      	* app/core/gimptemplate.[ch]
      	* app/file/file-open.[ch]
      	* app/file/file-save.[ch]
      	* app/pdb/procedural_db.[ch]
      	* app/text/gimptext-compat.[ch]
      	* app/text/gimptextlayer-transform.[ch]
      	* app/gui/brush-select.[ch]
      	* app/gui/font-select.[ch]
      	* app/gui/gradient-select.[ch]
      	* app/gui/palette-select.[ch]
      	* app/gui/pattern-select.[ch]: added tons of "GimpContext *context"
      	parameters and use the passed context instead of
      	* app/app_procs.c
      	* app/batch.c
      	* app/core/gimpchannel.c
      	* app/core/gimpdrawable.c
      	* app/paint/gimperaser.c
      	* app/paint/gimppaintbrush.c
      	* app/plug-in/plug-in-message.c
      	* app/plug-in/plug-ins.c
      	* app/text/gimptextlayer.c
      	* app/tools/gimpblendtool.c
      	* app/tools/gimpbucketfilltool.c
      	* app/tools/gimpcroptool.c
      	* app/tools/gimpeditselectiontool.c
      	* app/tools/gimpfliptool.c
      	* app/tools/gimpinktool.c
      	* app/tools/gimptransformtool.c
      	* app/vectors/gimpvectors.c
      	* app/gui/convert-dialog.c
      	* app/gui/drawable-commands.c
      	* app/gui/edit-commands.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/image-commands.c
      	* app/gui/layers-commands.c
      	* app/gui/offset-dialog.c
      	* app/gui/select-commands.c
      	* app/gui/vectors-commands.c
      	* app/widgets/gimpdnd.c
      	* app/widgets/gimpdocumentview.c
      	* app/widgets/gimphelp.c
      	* app/widgets/gimpthumbbox.c: pass gimp_get_user_context() or
      	GIMP_CONTEXT(tool_options) or whatever is the right context
      	to the changed core functions.
      	* tools/pdbgen/app.pl: pass "GimpContext *context" to all
      	generated PDB invokers.
      	* tools/pdbgen/pdb/brush_select.pdb
      	* tools/pdbgen/pdb/brushes.pdb
      	* tools/pdbgen/pdb/drawable.pdb
      	* tools/pdbgen/pdb/edit.pdb
      	* tools/pdbgen/pdb/font_select.pdb
      	* tools/pdbgen/pdb/gradient_select.pdb
      	* tools/pdbgen/pdb/gradients.pdb
      	* tools/pdbgen/pdb/image.pdb
      	* tools/pdbgen/pdb/layer.pdb
      	* tools/pdbgen/pdb/paint_tools.pdb
      	* tools/pdbgen/pdb/palette.pdb
      	* tools/pdbgen/pdb/palette_select.pdb
      	* tools/pdbgen/pdb/palettes.pdb
      	* tools/pdbgen/pdb/paths.pdb
      	* tools/pdbgen/pdb/pattern_select.pdb
      	* tools/pdbgen/pdb/patterns.pdb
      	* tools/pdbgen/pdb/selection.pdb
      	* tools/pdbgen/pdb/text_tool.pdb
      	* tools/pdbgen/pdb/transform_tools.pdb: pass the new context
      	parameter to the changed core functions.
      	* app/pdb/*_cmds.c: regenerated.
  7. 11 Feb, 2004 1 commit
  8. 08 Feb, 2004 1 commit
    • Sven Neumann's avatar
      return FALSE if the file wasn't found. · cc446eae
      Sven Neumann authored
      2004-02-08  Sven Neumann  <sven@gimp.org>
      	* app/plug-in/plug-in-rc.c (plug_in_rc_parse): return FALSE if the
      	file wasn't found.
      	* app/plug-in/plug-ins.c (plug_ins_init): don't output the error
      	message from plug_in_rc_parse() if it failed for file not found.
      	Fixes bug #133490.
  9. 03 Feb, 2004 2 commits
    • Michael Natterer's avatar
      use g_clear_error() instead of g_error_free() and re-use the same GError · 9af8d8c5
      Michael Natterer authored
      2004-02-03  Michael Natterer  <mitch@gimp.org>
      	* app/plug-in/plug-ins.c (plug_ins_init): use g_clear_error()
      	instead of g_error_free() and re-use the same GError location for
      	pluginrc parsing and writing.
      	(plug_ins_proc_def_insert): when overriding a PlugInProcDef, don't
      	take over the menu_path and menu_accel of the overridden proc
      	because (a) it's just plain wrong and (b) we don't need to
      	preserve the proc_defs' order any more (see below).
    • Michael Natterer's avatar
      added new function plug_in_proc_def_compare_menu_path() which is a · b1472344
      Michael Natterer authored
      2004-02-03  Michael Natterer  <mitch@gimp.org>
      	* app/plug-in/plug-in-proc.[ch]: added new function
      	plug_in_proc_def_compare_menu_path() which is a GCompareDataFunc.
      	(uses g_utf8_collate() on the translated menu paths).
      	* app/plug-in/plug-ins.c (plug_ins_init): sort gimp->load_procs
      	and gimp->save_procs using the new compare function above.
      	Fixes bug #133180.
      	(plug_ins_help_domain): don't g_return_if_fail() on a NULL
      	prog_name but return the default locale and help domains
      	of the GIMP itself.
      	(plug_ins_proc_def_insert): removed obsolete and broken (not
      	locale and UTF-8 aware) code which tried to insert new plug-in
      	menu entries in alphabetical order (was unused except for load
      	and save procs).
      	* app/plug-in/plug-in-proc.[ch]: added const qualifiers.
      	* app/file/file-open.c
      	* app/file/file-save.c
      	* tools/pdbgen/pdb/fileops.pdb: changed accordingly (constify
      	local variables).
      	* app/pdb/fileops_cmds.c: regenerated.
  10. 01 Feb, 2004 1 commit
    • Michael Natterer's avatar
      when removing a duplicate PDB procedure, also remove it from · 7ca4682c
      Michael Natterer authored
      2004-02-01  Michael Natterer  <mitch@gimp.org>
      	* app/plug-in/plug-ins.c (plug_ins_init): when removing a
      	duplicate PDB procedure, also remove it from gimp->load_procs and
      	gimp->save_procs.  Fixes bug #133099.
      	Some general cleanup like moving variables to local scopes.
  11. 23 Jan, 2004 1 commit
    • Michael Natterer's avatar
      app/app_procs.c app/errors.c app/main.c app/config/gimpconfigwriter.c · 57911bbc
      Michael Natterer authored
      2004-01-23  Michael Natterer  <mitch@gimp.org>
      	* app/app_procs.c
      	* app/errors.c
      	* app/main.c
      	* app/config/gimpconfigwriter.c
      	* app/core/gimpdata.c
      	* app/core/gimpdatafactory.c
      	* app/gui/user-install-dialog.c
      	* app/plug-in/plug-ins.c
      	* app/vectors/gimpvectors-import.c: some more gimp_filename_to_utf8().
      	* libgimp/gimp.c
      	* libgimpmodule/gimpmodule.c
      	* libgimpmodule/gimpmoduledb.c: use it here, too, now that is in
  12. 19 Jan, 2004 2 commits
    • Sven Neumann's avatar
      include "libgimpbase/gimpbase.h" where needed; removed now unnecessary · 6d506d51
      Sven Neumann authored
      2004-01-19  Sven Neumann  <sven@gimp.org>
      	* app/*/*.c: include "libgimpbase/gimpbase.h" where needed; removed
      	now unnecessary inclusions of "file/file-utils.h".
    • Sven Neumann's avatar
      removed file_utils_filename_to_utf8() ... · a70698c4
      Sven Neumann authored
      2004-01-19  Sven Neumann  <sven@gimp.org>
      	* app/file/file-utils.[ch]: removed file_utils_filename_to_utf8() ...
      	* libgimpbase/gimputils.[ch]: ... and added it here as
      	gimp_filename_to_utf8(). Added some docs that promise less than
      	the current implementation holds so that we can change the
      	implementation later.
      	* app/*/*.c: use gimp_filename_to_utf8() where
      	file_utils_filenames_to_utf8() has been used before.
      	* libgimpbase/gimpbase.def: changed accordingly.
      	* configure.in: reset GIMP_INTERFACE_AGE.
  13. 14 Jan, 2004 1 commit
    • Tor Lillqvist's avatar
      Add new function file_utils_filename_to_utf8(), which is to be used when · 18485018
      Tor Lillqvist authored
      2004-01-14  Tor Lillqvist  <tml@iki.fi>
      	* app/file/file-utils.[ch]: Add new function
      	file_utils_filename_to_utf8(), which is to be used when converting
      	file names (which are kept in the on-disk encoding) to UTF-8 for
      	passing to GTK, or to g_print() etc.
      	* app/*/*.c: Call file_utils_filename_to_utf8(). Should fix most
      	of the warnings generated by non-UTF8 pathnames. See #130118.
      	* libgimpbase/gimpenv.b: Document that gimp_directory() etc return
      	strings in the on-disk encoding.
      	* libgimpmodule/gimpmodule.c: Convert filenames to UTF-8 (using
      	g_filename_to_utf8()) before passing to g_print().
  14. 21 Nov, 2003 1 commit
  15. 16 Nov, 2003 2 commits
    • Sven Neumann's avatar
      disabled debugging output. · 6a145b31
      Sven Neumann authored
      2003-11-16  Sven Neumann  <sven@gimp.org>
      	* app/plug-in/plug-ins.c: disabled debugging output.
    • Hans Breuer's avatar
      still unacceptable patched to compile without FT2, see bug #113681 · b23682bf
      Hans Breuer authored
      2003-11-16  Hans Breuer  <hans@breuer.org>
      	* app/text/*.c : still unacceptable patched to compile
      	without FT2, see bug #113681
      	* **makefile.msc : updated
      	* app/config/gimpconfig-dump.c : include gimpwin32-io.h
      	* app/plug-in/plug-ins.c : don't depend on g_print handling
      	%s with NULL pointers, it doesn't anymore with glib cvs at
      	least not on win32
      	* app/widgets/gimppropwidgets.c
      	  libgimpwidgets/gimpmemsizeentry.c :
      	sorry about the mess, need to work-around a stupi not able
      	to cast from guint64 to double
      	* app/widgets/gimppropwidgets.c (gimp_prop_memsize_entry_new) :
      	avoid 'overflow in floating-point constant arithmetic' by disabling
      	an imho alays questionable g_return_val_if_fail() for _MSC_VER only
      	* libgimpmodule/gimpmodule.def : sorted
      	* libgimpwidgets/gimpfileselection.c : removed unused S_ISDIR
      	* app/gui/themes.c : filenames in rc files need to be escaped
  16. 14 Nov, 2003 1 commit
    • Michael Natterer's avatar
      libgimpwidgets/gimpquerybox.c configure the labels in the message dialog · 6eb77294
      Michael Natterer authored
      2003-11-14  Michael Natterer  <mitch@gimp.org>
      	* libgimpwidgets/gimpquerybox.c
      	* app/widgets/gimpwidgets-utils.c: configure the labels in the
      	message dialog and the query boxes to do automatic word wrapping
      	to be HIG compliant.
      	* app/app_procs.c
      	* app/batch.c
      	* app/config/gimpconfig-deserialize.c
      	* app/config/gimpconfig-path.c
      	* app/config/gimpconfig-utils.c
      	* app/config/gimpconfigwriter.c
      	* app/config/gimpscanner.c
      	* app/core/gimpbrush.c
      	* app/core/gimpbrushgenerated.c
      	* app/core/gimpbrushpipe.c
      	* app/core/gimpdatafactory.c
      	* app/core/gimpgradient.c
      	* app/core/gimpimage-merge.c
      	* app/core/gimpimage.c
      	* app/core/gimpimagefile.c
      	* app/core/gimplayer-floating-sel.c
      	* app/core/gimppalette.c
      	* app/core/gimppattern.c
      	* app/core/gimpselection.c
      	* app/display/gimpdisplayshell.c
      	* app/file/file-utils.c
      	* app/gui/brush-select.c
      	* app/gui/dialogs-commands.c
      	* app/gui/drawable-commands.c
      	* app/gui/edit-commands.c
      	* app/gui/file-commands.c
      	* app/gui/file-new-dialog.c
      	* app/gui/font-select.c
      	* app/gui/gradient-select.c
      	* app/gui/gui.c
      	* app/gui/image-commands.c
      	* app/gui/layers-commands.c
      	* app/gui/palette-select.c
      	* app/gui/palettes-commands.c
      	* app/gui/pattern-select.c
      	* app/gui/preferences-dialog.c
      	* app/gui/select-commands.c
      	* app/gui/stroke-dialog.c
      	* app/gui/tool-options-menu.c
      	* app/gui/vectors-commands.c
      	* app/gui/view-commands.c
      	* app/plug-in/plug-in-message.c
      	* app/plug-in/plug-in.c
      	* app/plug-in/plug-ins.c
      	* app/text/gimptextlayer-xcf.c
      	* app/text/gimptextlayer.c
      	* app/tools/gimpcurvestool.c
      	* app/tools/gimphuesaturationtool.c
      	* app/tools/gimplevelstool.c
      	* app/tools/gimptransformtool.c
      	* app/vectors/gimpvectors-export.c
      	* app/widgets/gimpdatafactoryview.c
      	* app/widgets/gimphelp.c
      	* app/widgets/gimptemplateview.c
      	* app/widgets/gimptooloptionseditor.c
      	* app/xcf/xcf.c
      	* tools/pdbgen/pdb/image.pdb: removed explicit newlines from
      	messages. Reduced number of translatable strings by making many
      	file error messages the same. Quote single words and filenames
      	with 'foo', not "foo". Replaced some more "drawable" by "layer".
      	General message cleanup and consistency check.
      	* app/pdb/image_cmds.c: regenerated.
  17. 07 Nov, 2003 1 commit
    • Sven Neumann's avatar
      added GIMP_CONFIG_ERROR_VERSION to GimpConfigError enum. · 74c8218a
      Sven Neumann authored
      2003-11-08  Sven Neumann  <sven@gimp.org>
      	* app/config/gimpconfig-error.h: added GIMP_CONFIG_ERROR_VERSION
      	to GimpConfigError enum.
      	* libgimpbase/gimpprotocol.h: renamed GP_VERSION to
      	* libgimp/gimp.c
      	* app/plug-in/plug-in-run.c: changed accordingly.
      	* app/plug-in/plug-in-rc.[ch]: write the protocol version to the
      	pluginrc and stop parsing when a wrong protocol version is found.
      	* app/plug-in/plug-ins.c: pass a GError to plug_in_rc_parse().
  18. 10 Sep, 2003 1 commit
    • Michael Natterer's avatar
      added lots more "GimpFooFunc gui_foo_func" vtable entries to the Gimp · 268c4fb1
      Michael Natterer authored
      2003-09-10  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimp.[ch]: added lots more "GimpFooFunc gui_foo_func"
      	vtable entries to the Gimp struct and wrapper function for them.
      	They cover plug-in menu creation and plug-in progress utilities.
      	* app/gui/gui.c: fill in the funtion pointers and dispatch
      	to the actual functions.
      	* app/pdb/Makefile.am (libapppdb_a_LIBADD): removed most hacks
      	since the symbols are referenced within libappgui.a now.
      	Removed any GTK+ dependency from the plug-ins/ directory:
      	* app/plug-in/Makefile.am (INCLUDES): replaces GTK_CFLAGS by
      	* app/plug-in/plug-in-progress.c
      	* app/plug-in/plug-ins.c: replaced gui function calls to create
      	menus and progress bars by calls to the wrappers.
      	* app/plug-in/plug-in.c (plug_in_close): check dangling PDB
      	dialogs using the new wrapper.
      	* app/plug-in/plug-in-def.c
      	* app/plug-in/plug-in-rc.c
      	* app/plug-in/plug-in-run.c: removed trailing whitespace.
  19. 28 Aug, 2003 1 commit
    • Michael Natterer's avatar
      Completed the new help infrastructure. Needs some polishing but basically · 1f2c75e5
      Michael Natterer authored
      2003-08-28  Michael Natterer  <mitch@gimp.org>
      	Completed the new help infrastructure. Needs some polishing but
      	basically works as proposed:
      	* tools/pdbgen/pdb/plug_in.pdb: changed gimp_plugin_help_register()
      	to take a "domain_name" (which is the XML namespace) and a
      	"domain_uri" (which is the root of the plug-in's help pages).
      	* tools/pdbgen/pdb/help.pdb: changed gimp_help() to take help_id
      	instead of a non-UTF-8 help_path.
      	* app/plug-in/plug-in-def.[ch]
      	* app/plug-in/plug-in-proc.[ch]
      	* app/plug-in/plug-in-rc.c
      	* app/plug-in/plug-ins.[ch]: remember the plug-ins' help_domain
      	and help_uri instead of just help_path. Changed all plug-in APIs
      	to reflect this change.
      	* app/widgets/gimphelp.[ch]: on helpbrowser startup, pass it the
      	whole list of help domains. The actual help request is now made
      	using the browser's temporary procedure.
      	* app/core/gimp.h
      	* app/gui/file-open-menu.c
      	* app/gui/file-save-menu.c
      	* app/gui/plug-in-menus.[ch]
      	* app/widgets/gimpitemfactory.c: changed accordingly.
      	* app/pdb/help_cmds.c
      	* app/pdb/plug_in_cmds.c
      	* libgimp/gimphelp_pdb.[ch]
      	* libgimp/gimpplugin_pdb.[ch]: regenerated.
      	Changed the help broser to load the pages according to the
      	new system:
      	- moved the browser window stuff to dialog.[ch]
      	- moved help domain handling to domain.[ch]
      	- added gimp-help.xml parsing to domain.c
      	- tons of cleanup
      	* plug-ins/helpbrowser/Makefile.am
      	* plug-ins/helpbrowser/dialog.[ch]
      	* plug-ins/helpbrowser/domain.[ch]: new files.
      	* plug-ins/helpbrowser/helpbrowser.c: chopped.
  20. 25 Aug, 2003 1 commit
    • Michael Natterer's avatar
      removed the "locale_domain" and "help_path" parameters since the function · dec69db1
      Michael Natterer authored
      2003-08-25  Michael Natterer  <mitch@gimp.org>
      	* app/plug-in/plug-ins.[ch] (plug_ins_temp_proc_def_add): removed
      	the "locale_domain" and "help_path" parameters since the function
      	can figure them by itself.
      	* app/plug-in/plug-in-message.c (plug_in_handle_proc_install):
      	changed accordingly.
      	* app/plug-in/plug-in-proc.[ch] (plug_in_proc_def_get_help_id):
      	new function which will soon be implemented correctly :-)
      	* app/gui/file-open-menu.c (file_open_menu_setup)
      	* app/gui/file-save-menu.c (file_save_menu_setup)
      	* app/gui/plug-in-menus.c (plug_in_menus_create_entry): use it
      	here instead of duplicating broken code.
  21. 02 Jul, 2003 1 commit
    • Michael Natterer's avatar
      changed GimpDatafileLoaderFunc to take a separate "gpointer user_data" · 74710fcc
      Michael Natterer authored
      2003-07-02  Michael Natterer  <mitch@gimp.org>
      	* libgimpbase/gimpbasetypes.h: changed GimpDatafileLoaderFunc to
      	take a separate "gpointer user_data" parameter (passing user_data
      	in a struct was a quite nonstandard API design). Made the
      	GimpDatafileData pointer const.
      	* libgimpbase/gimpdatafiles.[ch]: removed user_data from the
      	GimpDatafileData struct and added "const gchar *basename" so we
      	don't need to g_path_get_basename() in many callbacks.
      	* libgimp/gimpmiscui.[ch]: changed gimp_plug_in_parse_path() to
      	gimp_plug_in_get_path() and return the unparsed path.
      	* app/core/gimpdatafactory.c
      	* app/core/gimpenvirontable.c
      	* app/gui/gui.c
      	* app/plug-in/plug-ins.c
      	* libgimpmodule/gimpmoduledb.c
      	* plug-ins/script-fu/script-fu-scripts.c: changed accordingly.
      	* plug-ins/FractalExplorer/Dialogs.c
      	* plug-ins/FractalExplorer/FractalExplorer.[ch]
      	* plug-ins/FractalExplorer/Globals.c
      	* plug-ins/gfig/gfig.c
      	* plug-ins/gflare/gflare.c: use gimp_datafiles_read_directories()
      	instead of fiddling with g_dir_open() manually. Random cleanups.
  22. 19 Jun, 2003 1 commit
    • Michael Natterer's avatar
      Changed the semantics of GIMP_EXTENSION and (to some extent) of · ecb0b584
      Michael Natterer authored
      2003-06-19  Michael Natterer  <mitch@gimp.org>
      	Changed the semantics of GIMP_EXTENSION and (to some extent)
      	of GIMP_PLUGIN:
      	The old meaning of EXTENSION was "I live in the toolbox" and
      	PLUGIN meant "I take RUN-MODE,IMAGE,DRAWABLE args (but only if I
      	am invoked interactively)". This is completely useless, since
      	living in the toolbox means having "<Toolbox>" in the menu_path
      	and taking RUN-MODE,IMAGE,DRAWABLE means just that, regardless of
      	what type of procedure we are.
      	The new meaning of GIMP_PLUGIN is just "I am an ordinary procedure,
      	I am invoked, do my job and finish", while GIMP_EXTENSION means
      	"I will install temporary procedures and I will keep running to
      	keep them available".
      	(A GIMP_EXTENSION *must* call gimp_extension_ack() now to tell the
      	core that it's ready to run, or the core will block waiting for
      	the message !!!).
      	* configure.in: bumped version number to 1.3.16.
      	* libgimpbase/gimpprotocol.h: increased protocol version number so
      	old extensions will refuse to load.
      	* app/gui/plug-in-commands.c (plug_in_run_cmd_callback): don't
      	blindly pass RUN-MODE,IMAGE,DRAWABLE to GIMP_PLUGIN procedures but
      	look at their parameters and pass them either RUN-MODE, or
      	* app/pdb/procedural_db.c: cleaned up, better error reporting,
      	replaced an impossible error message by g_return_if_fail()
      	* app/plug-in/plug-in-message.c (plug_in_handle_proc_install):
      	better error messages.
      	* app/plug-in/plug-in-params.c: allocate parameter arrays using
      	g_new0() so we don't have to worry about uninitialized stuff
      	* app/plug-in/plug-in-run.c (plug_in_run): wait for
      	gimp_extension_ack() installation confirmation for ALL extensions,
      	not just for automatically started ones.
      	* app/plug-in/plug-ins.c: cleanup.
      	* libgimp/gimp.[ch]: cleaned up and API-documented massively. Made
      	all magic values given in the GPConfig message static and added
      	accessor functions for them. Added gimp_tile_width()/height().
      	Added new function gimp_extension_enable() which turns on
      	asynchronous processing of temp_proc run requests without having
      	to enter an endless gimp_extension_process() loop. Moved all
      	private functions to the end of the file. Added tons of
      	g_return_if_fail() all over the place.  Call gimp_run_procedure2()
      	from gimp_run_procedure() instead of duplicating the
      	code. Indentation, spacing, stuff...
      	* libgimp/gimptile.[ch]: removed gimp_tile_width()/height().
      	* libgimp/gimpdrawable.c
      	* libgimp/gimppixelrgn.c
      	* libgimp/gimptile.c: use the gimp_tile_width()/height() accessor
      	* libgimp/gimp.def: added gimp_extension_enable.
      	* libgimp/gimpmenu.c: removed evil code which connected to
      	_readchannel manually and use gimp_extension_enable() for watching
      	* plug-ins/helpbrowser/helpbrowser.c: removed the same evil code
      	here and call gimp_extension_enable(). Call gimp_extension_ack()
      	to let the core know that the temp_proc is installed.
      	* plug-ins/script-fu/script-fu.c: made all procedures except the
      	permanently running "extension_script_fu" ordinary GIMP_PLUGIN
      	* plug-ins/common/curve_bend.c
      	* plug-ins/common/plugindetails.c
      	* plug-ins/common/screenshot.c
      	* plug-ins/common/uniteditor.c
      	* plug-ins/common/winclipboard.c
      	* plug-ins/dbbrowser/dbbrowser.c
      	* plug-ins/gfli/gfli.c
      	* plug-ins/twain/twain.c
      	* plug-ins/webbrowser/webbrowser.c
      	* plug-ins/winsnap/winsnap.c: made them all ordinary GIMP_PLUGIN
      	procedures and renamed them from "extension_*" to "plug_in_*".
      	Random cleanups.
      	* app/widgets/gimphelp.c
      	* plug-ins/maze/maze_face.c: call "plug_in_web_browser" now.
  23. 03 May, 2003 1 commit
  24. 15 Apr, 2003 1 commit
    • Michael Natterer's avatar
      make sure all progress bars and at 1.0. Build the list of extension · 5b631a8c
      Michael Natterer authored
      2003-04-15  Michael Natterer  <mitch@gimp.org>
      	* app/plug-in/plug-ins.c (plug_ins_init): make sure all progress
      	bars and at 1.0. Build the list of extension procedures to start
      	before starting them (and don't start them while iterating the
      	list of procedures because the list changes if we start an
  25. 25 Mar, 2003 1 commit
    • Sven Neumann's avatar
      Makefile.am removed this header file. · 28fddfd5
      Sven Neumann authored
      2003-03-25  Sven Neumann  <sven@gimp.org>
      	* Makefile.am
      	* gimpintl.h: removed this header file.
      	* gimpmiscui.c: include libgimp-intl.h.
      	* gimp.c (gimp_main): call setlocale() and bind to the libgimp
      	textdomain so that plug-ins don't need to do that explicitely.
      	* libgimp/stdplugins-intl.h: added the functionality that used to
      	live in gimpintl.h and removed the libgimp related stuff. Got rid
      	of the INIT_I18N_UI() macro.
      	* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
      	Plug-ins simply call INIT_I18N() once in their run() function.
      	* plug-ins/script-fu/script-fu-intl.h: added the functionality
      	that used to live in gimpintl.h and removed the libgimp related
      	* app/Makefile.am
      	* app/gimp-intl.h: new file that defines the gettext macros for
      	the GIMP core.
      	* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.
      	* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
  26. 10 Mar, 2003 1 commit
    • Sven Neumann's avatar
      fixed creation of config file, added new function · 6f3f9556
      Sven Neumann authored
      2003-03-10  Sven Neumann  <sven@gimp.org>
      	* app/config/gimpconfigwriter.[ch]: fixed creation of config file,
      	added new function gimp_config_writer_string() and improved
      	* app/config/gimpconfig-serialize.c
      	* app/core/gimpcontext.c
      	* app/core/gimpdocumentlist.c: use gimp_config_writer_string()
      	instead of escaping the string manually.
      	* app/core/gimpunits.c (gimp_unitrc_save): use a GimpConfigWriter.
      	* app/plug-in/plug-in-rc.[ch] (plug_in_rc_write)
      	* app/plug-in/plug-ins.c: use a GimpConfigWriter.
  27. 18 Feb, 2003 1 commit
    • Michael Natterer's avatar
      added plug_ins_proc_def_find() which takes a ProcRecord and returns the · 4a811807
      Michael Natterer authored
      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.
  28. 11 Feb, 2003 1 commit
    • 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.
  29. 03 Feb, 2003 1 commit
    • Michael Natterer's avatar
      removed gimp_main_loop() and gimp_main_loop_quit() because they were a · 2db2ef61
      Michael Natterer authored
      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()
      	* app/app_procs.c: create the main GMainLoop here and use
      	* 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.
  30. 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.
  31. 26 Jan, 2003 1 commit
  32. 20 Jan, 2003 1 commit
    • Michael Natterer's avatar
      renamed plug_in_progress_init() to plug_in_progress_start() so it matches · d407244f
      Michael Natterer authored
      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.
  33. 17 Jan, 2003 1 commit
    • Michael Natterer's avatar
      One more Plug-In cleanup, it's still a mess... · a31c0f7d
      Michael Natterer authored
      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.
      	* app/gui/image-menu.c
      	* app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't
      	get why the "1" was there. Minor cleanup.
  34. 10 Jan, 2003 1 commit
    • 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
      	* 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
      	* 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
      	* 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.
  35. 30 Dec, 2002 1 commit