1. 01 Nov, 2005 1 commit
    • Sven Neumann's avatar
      formatting. · c4e37430
      Sven Neumann authored
      2005-11-01  Sven Neumann  <sven@gimp.org>
      
      	* app/plug-in/plug-ins.c: formatting.
      c4e37430
  2. 31 Oct, 2005 1 commit
  3. 02 Aug, 2005 1 commit
    • Michael Natterer's avatar
      Changed naming scheme for PDB procedure names from · 853f04d5
      Michael Natterer authored
      2005-08-03  Michael Natterer  <mitch@gimp.org>
      
      	Changed naming scheme for PDB procedure names from
      	random_crap_that_traditionally_has_underscores to
      	enforced-canonical-identifiers. I'm pretty sure some things are
      	broken after this commit. More changes to come...
      
      	* libgimpbase/gimpbase.def
      	* libgimpbase/gimputils.[ch]: added gimp_canonicalize_identifier().
      
      	* app/pdb/procedural_db.[ch] (struct ProcRecord): added
      	"gchar *original_name" to keep a procedure's original name as
      	reigstered by plug-ins (compat cruft).
      
      	(procedural_db_init_procs): canonicalized list of deprecated
      	procedures.
      
      	* app/plug-in/plug-in-proc-def.c (plug_in_proc_def_free): free
      	original_name.
      
      	* app/plug-in/plug-in-message.c: canonicalize procedure names
      	which are received over the wire.
      
      	* app/plug-in/plug-in-rc.c: serialize the original_name and create
      	the canonicalized name on-the-fly when deserializing.
      
      	* app/plug-in/plug-in-run.c: pass the original_name to plug-ins
      	when running them because they strcmp() the passed procedure name.
      
      	* app/plug-in/plug-ins.c (plug_ins_add_to_db): pass
      	canonical procedure names to procedural_db_execute().
      
      	(plug_ins_file_proc_compare): special-case "gimp-xcf", not "gimp_xcf".
      
      	* app/xcf/xcf.c: changed static XCF procedures accordingly.
      
      	* tools/pdbgen/app.pl
      	* tools/pdbgen/lib.pl: do some trivial substitutions to generate
      	canonicalized names in app/, and C identifiers with underscores in
      	libgimp/.
      
      	* tools/pdbgen/pdb/brushes.pdb
      	* tools/pdbgen/pdb/fileops.pdb
      	* tools/pdbgen/pdb/gradients.pdb
      	* tools/pdbgen/pdb/image.pdb
      	* tools/pdbgen/pdb/palettes.pdb
      	* tools/pdbgen/pdb/patterns.pdb
      	* tools/pdbgen/pdb/plug_in.pdb
      	* tools/pdbgen/pdb/procedural_db.pdb
      	* tools/pdbgen/pdb/text_tool.pdb
      	* tools/pdbgen/pdb/transform_tools.pdb: canonicaloized procedure
      	names in calls to std_pdb_deprecated() and in procedure names in
      	generated C code.
      
      	* app/pdb/*_cmds.c
      	* libgimp/*_pdb.c: regenerated.
      853f04d5
  4. 04 May, 2005 1 commit
    • Michael Natterer's avatar
      new function which finds a proc_def in a GSList by its procedure name. · 4f2e5afc
      Michael Natterer authored
      2005-05-04  Michael Natterer  <mitch@gimp.org>
      
      	* app/plug-in/plug-in-proc-def.[ch] (plug_in_proc_def_find): new
      	function which finds a proc_def in a GSList by its procedure name.
      
      	* app/plug-in/plug-in-message.c
      	* app/plug-in/plug-ins.c
      	* tools/pdbgen/pdb/plug_in.pdb: use it instead of iterating and
      	comparing manually.
      
      	* app/pdb/plug_in_cmds.c: regenerated.
      
      	* app/plug-in/plug-in-def.c: minor cleanups.
      4f2e5afc
  5. 25 Apr, 2005 1 commit
    • Sven Neumann's avatar
      added a boolean flag to the ProcDef struct to identify file procedures. · 380b1703
      Sven Neumann authored
      2005-04-25  Sven Neumann  <sven@gimp.org>
      
      	* app/plug-in/plug-in-proc-def.h: added a boolean flag to the
      	ProcDef struct to identify file procedures.
      
      	* app/xcf/xcf.c: changed accordingly.
      
      	* app/plug-in/plug-ins.c: look at the new flag instead of checking
      	extensions, prefixes and magics being non-NULL. A file plug-in
      	doesn't necessarily have any of these fields set.
      
      	* app/plug-in/plug-in-rc.c: changed pluginrc format to contain an
      	extra section for file procedures. Moved all file related info there.
      380b1703
  6. 24 Mar, 2005 1 commit
    • Michael Natterer's avatar
      Added API to explicitly register dynamic menu items hierarchies. Fixes bug · 0a5ce16b
      Michael Natterer authored
      2005-03-24  Michael Natterer  <mitch@gimp.org>
      
      	Added API to explicitly register dynamic menu items hierarchies.
      	Fixes bug #170623.
      
      	* app/core/gimp.h: added "GSList *plug_in_menu_branches".
      
      	* app/plug-in/plug-in-types.h
      
      	* app/plug-in/plug-ins.[ch]: added API to register plug-in menu
      	branches, just as for locale and help domans. Cleaned up handling
      	of locale and help domains.
      
      	(plug_ins_exit): free the registered menu branches.
      
      	* app/actions/plug-in-actions.[ch] (plug_in_actions_add_branch):
      	new function to explicitly add a menu branch action.
      
      	(plug_in_actions_setup): add the registered menu branches to each
      	new action group.
      
      	(plug_in_actions_build_path): always strip the untranslated menu
      	path from underlines before using it as hash table key or action
      	name.
      
      	* app/menus/plug-in-menus.c (plug_in_menus_add_proc): changed
      	accordingly: strip underlines from untranslated menu paths before
      	passing them to plug_in_menus_build_path().
      
      	* app/core/gimp-gui.[ch]: added gimp_menus_create_branch() plus
      	vtable entry to access the new stuff from the core. Renamed the
      	functions desling with items from gimp_foo_entry() to
      	gimp_foo_item().
      
      	* app/gui/gui-vtable.c: implement create_branch() and add the
      	branch action to all existing "plug-in" action groups. Note that
      	we don't need to create any menus because that happens implicitly
      	when adding menu items.
      
      	* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_branch_register): new
      	PDB wrapper to access branch registering from plug-ins.
      
      	* app/pdb/internal_procs.c
      	* app/pdb/plug_in_cmds.c
      	* libgimp/gimpplugin_pdb.[ch]: regenerated.
      
      	* libgimp/gimp.def: changed accordingly.
      
      	* plug-ins/script-fu/script-fu-scripts.c (script_fu_find_scripts):
      	register the menu branches for all included scripts.
      0a5ce16b
  7. 25 Jan, 2005 1 commit
  8. 17 Nov, 2004 1 commit
    • Michael Natterer's avatar
      Made plug-in menu registration work the same way for ordinary and · d871be74
      Michael Natterer authored
      2004-11-17  Michael Natterer  <mitch@gimp.org>
      
      	Made plug-in menu registration work the same way for ordinary and
      	temporary procedures. Addresses bug #158117.
      
      	* app/core/gimp-gui.[ch]: added "const gchar *menu_path" to
      	gimp_menus_create_entry().
      
      	* app/gui/gui-vtable.c (gui_menus_create_entry): if menu_path is
      	NULL, behave as before and create an action and its menu entries
      	for all the procedure's menu_paths. If it is non-NULL, skip action
      	creation and create a menu entry just for that path.
      
      	* app/plug-in/plug-ins.c (plug_ins_temp_proc_def_add): call
      	gimp_menus_create_entry() with a NULL menu path and call it if
      	proc_def->menu_paths *or* proc_def->menu_label is non-NULL, so
      	it creates at least the procedure's action, even if it has
      	no menu_path (yet).
      
      	* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_register): check both
      	the list of procs and temp_procs when trying to register the
      	entry.  Allow ordinary procedures and extensions to install stuff
      	at query() and init() time and allow temp_procs to install stuff
      	at any time.
      
      	* app/pdb/plug_in_cmds.c: regenerated.
      d871be74
  9. 13 Nov, 2004 1 commit
    • Sven Neumann's avatar
      app/plug-in/plug-in-proc-def.[ch] app/plug-in/plug-in-rc.c allow to · b62ca985
      Sven Neumann authored
      2004-11-13  Sven Neumann  <sven@gimp.org>
      
      	* app/plug-in/plug-in-proc-def.[ch]
      	* app/plug-in/plug-in-rc.c
      	* app/plug-in/plug-ins.[ch]: allow to associate a procedure for
      	thumbnail loading with any file load procedure.
      
      	* tools/pdbgen/pdb/fileops.pdb: export this functionality to the
      	PDB as gimp_register_thumbnail_loader().
      
      	* app/pdb/fileops_cmds.c
      	* app/pdb/internal_procs.c
      	* libgimp/gimpfileops_pdb.[ch]: regenerated.
      
      	* app/core/gimpimagefile.c
      	* app/file/file-open.[ch]: when creating a thumbnail for an image
      	file, use a thumbnail load procedure if available.
      
      	* plug-ins/common/svg.c: added "file_svg_load_thumb", a procedure
      	that allows to load a small preview of the SVG image.
      b62ca985
  10. 01 Nov, 2004 1 commit
    • Sven Neumann's avatar
      don't check for file_proc->menu_paths. Our load and save procedure don't · caac418c
      Sven Neumann authored
      2004-11-01  Sven Neumann  <sven@gimp.org>
      
      	* app/widgets/gimpfiledialog.c (gimp_file_dialog_add_filters):
      	don't check for file_proc->menu_paths. Our load and save procedure
      	don't necessarily register a menu path any longer.
      
      	* app/plug-in/plug-ins.c: minor cleanup.
      
      	* app/xcf/xcf.c (xcf_init): no need for adding menu paths for the
      	XCF load and save procedures.
      
      	* tools/pdbgen/pdb/fileops.pdb: fixed outdated documentation.
      
      	* app/pdb/fileops_cmds.c
      	* libgimp/gimpfileops_pdb.c: regenerated.
      caac418c
  11. 22 Sep, 2004 1 commit
    • Michael Natterer's avatar
      app/plug-in/Makefile.am removed... ...and added with a new name. · 9ffc00be
      Michael Natterer authored
      2004-09-22  Michael Natterer  <mitch@gimp.org>
      
      	* app/plug-in/Makefile.am
      	* app/plug-in/plug-in-proc.[ch]: removed...
      	* app/plug-in/plug-in-proc-def.[ch]: ...and added with a new name.
      
      	* app/plug-in/plug-in-def.[ch]
      	* app/plug-in/plug-in-message.[ch]
      	* app/plug-in/plug-in-progress.[ch]
      	* app/plug-in/plug-in-rc.[ch]
      	* app/plug-in/plug-in-run.[ch]
      	* app/plug-in/plug-in.[ch]
      	* app/plug-in/plug-ins.[ch]
      	* app/actions/plug-in-actions.c
      	* app/actions/plug-in-commands.c
      	* app/file/file-open.[ch]
      	* app/file/file-save.[ch]
      	* app/file/file-utils.[ch]
      	* app/gui/gui-vtable.c
      	* app/menus/plug-in-menus.c
      	* app/widgets/gimpfiledialog.c
      	* app/widgets/gimpfileprocview.c
      	* app/widgets/gimppluginaction.c
      	* app/xcf/xcf.c
      	* tools/pdbgen/pdb/fileops.pdb
      	* tools/pdbgen/pdb/plug_in.pdb: changed accordingly plus some
      	minor cosmetic cleanups.
      
      	* app/pdb/fileops_cmds.c
      	* app/pdb/plug_in_cmds.c: regenerated.
      9ffc00be
  12. 10 Aug, 2004 1 commit
    • Michael Natterer's avatar
      Redid the whole internal progress stuff: don't pass around · 02d2b990
      Michael Natterer authored
      2004-08-10  Michael Natterer  <mitch@gimp.org>
      
      	Redid the whole internal progress stuff: don't pass around
      	progress_callback and progress_data; instead, provide a
      	pointer to a GimpProgressInterface which can be implemented
      	by a variety of backends.
      
      	Addresses (but not yet fixes) bugs #6010, #97266 and #135185.
      
      	* app/display/Makefile.am
      	* app/display/gimpprogress.[ch]: removed the old progress hack.
      
      	* app/core/Makefile.am
      	* app/core/core-types.h
      	* app/core/gimpprogress.[ch]: implement GimpProgressInterface.
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpprogressdialog.[ch]: the standalone progress
      	dialog as widget implementing GimpProgressInterface.
      
      	* app/display/gimpdisplay.c
      	* app/display/gimpstatusbar.[ch]
      	* app/widgets/gimpfiledialog.[ch]
      	* app/widgets/gimpthumbbox.[ch]: added GimpProgressInterface
      	implementation to these classes.
      
      	* app/core/gimp-gui.[ch]
      	* app/gui/gui-vtable.c: replaced the old progress vtable entries
      	by two new to create and destroy a GimpProgressDialog in case
      	no other progress is available.
      
      	* app/pdb/procedural_db.[ch]
      	* app/plug-in/plug-in-run.[ch]
      	* tools/pdbgen/app.pl: pass a GimpProgress to all PDB wrappers and
      	all plug-ins.
      
      	* app/plug-in/plug-in.[ch]
      	* app/plug-in/plug-ins.c
      	* app/plug-in/plug-in-message.c
      	* app/plug-in/plug-in-progress.c: handle the case there the
      	plug-in was crated with a progress as well as the case where it
      	wasn't.
      
      	* app/app_procs.c
      	* app/batch.c
      	* app/xcf/xcf.c
      	* app/file/file-open.[ch]
      	* app/file/file-save.[ch]
      	* app/widgets/gimphelp.c
      	* app/widgets/gimpbrushselect.c
      	* app/widgets/gimpfontselect.c
      	* app/widgets/gimpgradientselect.c
      	* app/widgets/gimppaletteselect.c
      	* app/widgets/gimppatternselect.c: changed accordingly.
      
      	* app/core/gimpimagefile.[ch]
      	* app/display/gimpdisplayshell-dnd.c
      	* app/gui/file-open-dialog.c
      	* app/gui/file-open-location-dialog.c
      	* app/gui/file-save-dialog.c
      	* app/widgets/gimplayertreeview.c
      	* app/widgets/gimptoolbox-dnd.c: pass a GimpProgress to all file
      	related functions. Embed the progress in the file dialog where
      	possible.
      
      	* app/core/gimpdrawable-blend.[ch]
      	* app/core/gimpdrawable-transform.[ch]
      	* app/core/gimpimage-convert.[ch]
      	* app/core/gimpimage-flip.[ch]
      	* app/core/gimpimage-resize.[ch]
      	* app/core/gimpimage-rotate.[ch]
      	* app/core/gimpimage-scale.[ch]
      	* app/core/gimpitem-linked.[ch]
      	* app/core/gimpitem.[ch]
      	* app/core/gimpchannel.c
      	* app/core/gimpdrawable.c
      	* app/core/gimplayer.c
      	* app/core/gimpselection.c
      	* app/vectors/gimpvectors.c: replaced callback/data by GimpProgress.
      
      	* app/tools/gimpblendtool.c
      	* app/tools/gimptransformtool.c
      	* app/gui/convert-dialog.c
      	* app/actions/documents-commands.c
      	* app/actions/file-commands.c
      	* app/actions/image-commands.c
      	* app/actions/layers-commands.c
      	* app/actions/plug-in-commands.c
      	* app/actions/vectors-commands.c
      	* tools/pdbgen/pdb/convert.pdb
      	* tools/pdbgen/pdb/edit.pdb
      	* tools/pdbgen/pdb/image.pdb
      	* tools/pdbgen/pdb/layer.pdb: changed callers accordingly.
      
      	* app/pdb/*_cmds.c: regenerated.
      02d2b990
  13. 09 Aug, 2004 1 commit
    • Michael Natterer's avatar
      don't dereference gimp->current_plug_in->plug_in_def if it's NULL. Fixes · 8f366bef
      Michael Natterer authored
      2004-08-09  Michael Natterer  <mitch@gimp.org>
      
      	* app/plug-in/plug-ins.c
      	(plug_ins_file_register_magic)
      	(plug_ins_file_register_mime): don't dereference
      	gimp->current_plug_in->plug_in_def if it's NULL.
      	Fixes bug #149678.
      
      	(plug_ins_file_register_mime): moved returning the proc_def inside
      	the right if() statement.
      8f366bef
  14. 16 Jul, 2004 2 commits
    • Sven Neumann's avatar
      use g_slist_prepend() instead of g_slist_append(). · 81bdb3c8
      Sven Neumann authored
      2004-07-17  Sven Neumann  <sven@gimp.org>
      
      	* app/plug-in/plug-ins.c (plug_ins_temp_proc_def_add)
      	(plug_ins_init_file): use g_slist_prepend() instead of
      	g_slist_append().
      
      	* plug-ins/common/url.c (query): ported to the new PDB registration
      	scheme.
      81bdb3c8
    • Sven Neumann's avatar
      sort the file procedures by their menu labels. · 52229256
      Sven Neumann authored
      2004-07-16  Sven Neumann  <sven@gimp.org>
      
      	* app/plug-in/plug-ins.c (plug_ins_init): sort the file procedures
      	by their menu labels.
      
      	* app/widgets/gimpfileprocview.c: removed the sort function here.
      52229256
  15. 30 Jun, 2004 1 commit
    • Michael Natterer's avatar
      added a GimpContext parameter and use it to start plug-ins. · b13087ad
      Michael Natterer authored
      2004-06-30  Michael Natterer  <mitch@gimp.org>
      
      	* app/plug-in/plug-ins.[ch] (plug_ins_init): added a GimpContext
      	parameter and use it to start plug-ins.
      
      	* app/core/gimp.c (gimp_real_restore): pass the user context.
      	Restores script-fu's access to the global FG, FG, brush, ...
      b13087ad
  16. 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().
      ad89332f
    • 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().
      97fe81b4
  17. 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
      	<Image>/File/Acquire.
      
      	* 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.
      7b943b64
  18. 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
      	alphabetically.
      
      	(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
      	groups.
      b69ddb39
  19. 25 Apr, 2004 1 commit
  20. 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.
      2e103fa8
    • 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
      	GimpItem::stroke().
      
      	* 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
      	plug_in_repeat().
      
      	* 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.).
      837fa429
  21. 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
      	gimp_[get|set]_current_context().
      
      	* 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
      	gimp_get_current_context().
      
      	* 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.
      18d9161e
  22. 11 Feb, 2004 1 commit
  23. 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.
      cc446eae
  24. 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).
      9af8d8c5
    • 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_locale_domain)
      	(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).
      
      	Unrelated:
      
      	* 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.
      b1472344
  25. 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.
      7ca4682c
  26. 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
      	libgimpbase.
      57911bbc
  27. 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".
      6d506d51
    • 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.
      a70698c4
  28. 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().
      18485018
  29. 21 Nov, 2003 1 commit
  30. 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.
      6a145b31
    • 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
      	  libgimpbase/gimputils.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
      	definition
      
      	* app/gui/themes.c : filenames in rc files need to be escaped
      b23682bf
  31. 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.
      6eb77294
  32. 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
      	GIMP_PROTOCOL_VERSION.
      
      	* 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().
      74c8218a
  33. 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
      	GDK_PIXBUF_CFLAGS.
      
      	* 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.
      268c4fb1
  34. 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.
      1f2c75e5