Commit graph

490 commits

Author SHA1 Message Date
Michael Natterer 4ca51d55b7 if plug_in_rc_parse() returns an empty list it's not neccessarily an eror,
2006-10-23  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimppluginmanager.c (gimp_plug_in_manager_restore):
	if plug_in_rc_parse() returns an empty list it's not neccessarily
	an eror, so check the "error" variable before accessing it.
	Fixes bug #363345.
2006-10-23 19:19:22 +00:00
Sven Neumann 035f087e48 include the procedure name in the output on stderr.
2006-10-17  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginprocedure.c
	(gimp_plug_in_procedure_set_image_types): include the procedure
	name in the output on stderr.
2006-10-17 15:21:20 +00:00
Michael Natterer 1ed8dd4f53 app/actions/data-commands.c app/actions/documents-commands.c
2006-10-09  Michael Natterer  <mitch@gimp.org>

	* app/actions/data-commands.c
	* app/actions/documents-commands.c
	* app/actions/drawable-commands.c
	* app/actions/gradients-commands.c
	* app/actions/image-commands.c
	* app/actions/layers-commands.c
	* app/actions/palettes-commands.c
	* app/actions/select-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimp-contexts.c
	* app/core/gimp-documents.c
	* app/core/gimp-edit.c
	* app/core/gimp-modules.c
	* app/core/gimp-parasites.c
	* app/core/gimp-templates.c
	* app/core/gimp-units.c
	* app/core/gimpchannel.c
	* app/core/gimpdatafactory.[ch]
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimagefile.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimppdbprogress.c
	* app/core/gimpselection.c
	* app/dialogs/palette-import-dialog.c
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/session.c
	* app/gui/themes.c
	* app/pdb/gimpprocedure.c
	* app/plug-in/gimpplugin-message.c
	* app/plug-in/gimpplugin.c
	* app/plug-in/gimppluginmanager-file.c
	* app/plug-in/gimppluginmanager.c
	* app/text/gimptextlayer-xcf.c
	* app/text/gimptextlayer.c
	* app/widgets/gimpcontrollers.c
	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpdevices.c
	* app/widgets/gimpdnd-xds.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimpuimanager.c
	* app/widgets/gimpvectorstreeview.c
	* tools/pdbgen/pdb/brush.pdb
	* tools/pdbgen/pdb/gradient.pdb
	* tools/pdbgen/pdb/palette.pdb: convert lots of g_message() to
	gimp_message(). Make sure we never pass unknown strings (like
	error->message) to printf-like functions directly; run them
	thorugh "%s" instead. Don't translate some messages which should
	never happen.

	* app/pdb/brush_cmds.c
	* app/pdb/gradient_cmds.c
	* app/pdb/palette_cmds.c: regenerated.
2006-10-09 18:49:15 +00:00
Michael Natterer f5afb754a5 Added message severities and make sure all messages are routed through a
2006-10-09  Michael Natterer  <mitch@gimp.org>

	Added message severities and make sure all messages are routed
	through a central function, so redirecting to the error console or
	stderr work again:

	* app/core/core-enums.[ch]: added enum GimpMessageSeverity { INFO,
	WARNING, ERROR }.

	* app/core/gimp.[ch] (gimp_message)
	(gimp_message_valist): added severity parameter. Changed
	"GimpProgress *progress" parameter to "GObject *handler", where
	"handler" can be either a GimpProgress, a GtkWidget or NULL.

	* app/core/gimp-gui.[ch] (gimp_show_message): ditto. Honor
	--console-messages again. Always dispatch to the GUI message
	handler first if it exists.

	* app/gui/gui-message.[ch]: pass severity parameters around.

	(gui_message_error_dialog): if "handler" is a progress, dispatch
	the message to it first. If it is a widget (and *not* a progress),
	use a GtkMessageDialog on top of that widget's toplevel. Fall
	back to the usual GimpErrorDialog otherwise.

	* app/core/gimpprogress.[ch] (gimp_progress_message): added
	severity parameter. Also added boolean return value to the virtual
	function so it can decide to fail if it can't handle the message.

	* app/display/gimpdisplay.c: implement GimpProgress::message() and
	redirect the message to GimpDisplayShell.

	* app/display/gimpdisplayshell-progress.c: implement
	GimpProgress::message() and redirect the message to GimpStatusbar
	if it is not an error and if the status bar is visible.

	* app/display/gimpstatusbar.[ch]: implement GimpProgress::message(),
	but fail on messages that contain a newline. Show the right icons
	for the message severities (work in progress).

	* app/display/gimpdisplayshell.[ch]: removed
	gimp_display_shell_message() and its _valist() variant.

	* app/widgets/gimperrorconsole.[ch]: show the right icons for the
	message severities.

	* app/widgets/gimpthumbbox.c (gimp_thumb_box_progress_message):
	return TRUE to swallow all messages.

	* app/widgets/gimpwidgets-utils.[ch]: removed
	gimp_show_message_dialog(). Added gimp_get_message_stock_id().

	* app/errors.c
	* app/actions/edit-commands.c
	* app/actions/error-console-commands.c
	* app/actions/file-commands.c
	* app/actions/select-commands.c
	* app/actions/text-editor-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimagefile.c
	* app/dialogs/convert-dialog.c
	* app/dialogs/file-open-dialog.c
	* app/dialogs/file-open-location-dialog.c
	* app/dialogs/file-save-dialog.c
	* app/dialogs/palette-import-dialog.c
	* app/dialogs/stroke-dialog.c
	* app/display/gimpdisplayshell-dnd.c
	* app/pdb/gimppdb.c
	* app/plug-in/gimpplugin.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimptool.c
	* app/tools/gimpvectortool.c
	* app/widgets/gimpactionview.c
	* app/widgets/gimpcontrollerlist.c
	* app/widgets/gimppdbdialog.c
	* app/widgets/gimpvectorstreeview.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/brush.pdb
	* tools/pdbgen/pdb/gradient.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/message.pdb
	* tools/pdbgen/pdb/palette.pdb: added severity parameter to
	gimp_message() calls. Convert all calls to
	gimp_show_message_dialog() and gimp_display_shell_message() to
	gimp_message(). Also converted some more g_message() calls.

	* app/pdb/brush_cmds.c
	* app/pdb/gradient_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/message_cmds.c
	* app/pdb/palette_cmds.c: regenerated.
2006-10-09 08:17:22 +00:00
Michael Natterer 11abe64f58 if the plug-in is in a different process group than GIMP, kill the entire
2006-09-20  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimpplugin.c (gimp_plug_in_close): if the plug-in is
	in a different process group than GIMP, kill the entire group so
	the plug-in's children are killed too.

	* plug-ins/uri/uri-backend-wget.c (uri_backend_load_image): open
	a process group so the wget process gets killed (bug #356643).
2006-09-20 10:31:22 +00:00
Michael Natterer db51ce3a49 Fix disabling of deprecated procedures (bug #345733):
2006-09-19  Michael Natterer  <mitch@gimp.org>

	Fix disabling of deprecated procedures (bug #345733):

	* app/pdb/gimppdb.c (gimp_pdb_register_procedure): silently drop
	deprecated procedures if they are disabled via --pdb-compat-mode.

	* app/plug-in/gimpplugin-message.c (gimp_plug_in_handle_proc_run):
	remove code that handles deprecated procedures even when they are
	disabled, the change above makes this impossible.
	Call plug_in_params_to_args() also if we didn't find the
	procedure, so the PDB doesn't choke on NULL args.
2006-09-19 11:58:57 +00:00
Sven Neumann 290435c59c added a convenience function to retrieve the translated procedure label.
2006-09-11  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginmanager.[ch]: added a convenience function
	to retrieve the translated procedure label.

	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpimagepropview.c: use it.
2006-09-11 15:51:39 +00:00
Sven Neumann b57c52b3b3 corrected comment.
2006-09-11  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginmanager-locale-domain.h: corrected comment.

	* app/widgets/gimpimagepropview.[ch]: added file related info to
	the Image Properties dialog as requested in bug #86276.
2006-09-11 15:27:21 +00:00
Sven Neumann e077975358 bail out early if the procedure is already at the start of the list.
2006-09-06  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginmanager-history.c
	(gimp_plug_in_manager_history_add): bail out early if the
	procedure is already at the start of the list.
2006-09-06 19:50:08 +00:00
Sven Neumann 25c1dfe65f don't specialcase gimp->no_interface; it's a pointless optimization.
2006-09-05  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginmanager.c (gimp_plug_in_manager_restore):
	don't specialcase gimp->no_interface; it's a pointless optimization.
2006-09-05 10:03:49 +00:00
Sven Neumann 36666a5b49 sort the load and save procedures after adding them to the database,
2006-09-05  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginmanager.c (gimp_plug_in_manager_restore):
	sort the load and save procedures after adding them to the
	database, otherwise there is nothing to sort.
2006-09-05 09:45:48 +00:00
Sven Neumann 4d23fbfe60 use gimp_message() if a plug-in crashes.
2006-08-29  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimpplugin.c (gimp_plug_in_recv_message): use
	gimp_message() if a plug-in crashes.
2006-08-29 11:08:31 +00:00
Sven Neumann 60fe7482cc improved debugging output.
2006-08-16  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimpplugin.c: improved debugging output.

	* libgimp/gimppaletteselect.c: the palette callback gets passed
	the number of colors.
2006-08-16 13:11:12 +00:00
Hans Breuer 37e4b80204 updated
2006-08-15  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc app/gimpcore.def : updated

	* app/xcf/xcf-save.c(1464) : error C2036: 'void *' : unknown size
	pointer arithmetics on void a pointer looks like a GCC extension
	* app/tools/gimpbrightnesscontrasttool.c
	  app/tools/gimpcolorbalancetool.c
	  app/tools/gimphuesaturationtool.c
	  app/tools/gimpcolorizetool.c : #include "core/gimp.h" for gimp_message
	* app/tools/gimpiscissorstool.c : use RINT() rather than rint()
	* app/widgets/gimpcontrollerlist.c : #include "gimpwidgets-utils.h"
	for gimp_show_message_dialog
	* app/core/gimpprogress.c(229) : 'gimp_progress_message' must
	return a value
2006-08-15 15:13:08 +00:00
Michael Natterer 262fce4dc2 it's a bad idea to access an array before checking if it's long enough.
2006-08-09  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-params.c (plug_in_params_to_args): it's a
	bad idea to access an array before checking if it's long enough.
	Fixes bug #350555. Also added some comments, the logic here is
	really weird.
2006-08-09 21:22:50 +00:00
Sven Neumann 20b4f56b83 chain up.
2006-08-09  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginmanager.c (gimp_plug_in_manager_dispose):
	chain up.

	* libgimp/gimpzoompreview.[ch]: added API to get a pointer to the
	GimpZoomModel used by the preview and added a constructor that
	allows to pass a model.

	* libgimp/gimpui.def: updated.
2006-08-09 10:30:01 +00:00
Sven Neumann e31e58335b remove the procedure from the history.
* app/plug-in/gimppluginmanager.c
	(gimp_plug_in_manager_remove_temp_proc): remove the procedure
from
	the history.
2006-08-08 16:34:22 +00:00
Sven Neumann a67657d84f app/plug-in/Makefile.am new files that deal with the history of plug-in
2006-08-08  Sven Neumann  <sven@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in/gimppluginmanager-history.[ch]: new files that
deal
	with the history of plug-in procedures.

	* app/actions/plug-in-actions.[ch]
	* app/plug-in/gimppluginmanager.[ch]: changed accordingly.
2006-08-08 16:14:13 +00:00
Sven Neumann b65fa0215d add all procedures that take an image paramter to the history of last-used
2006-08-08  Sven Neumann  <sven@gimp.org>

	* app/actions/plug-in-commands.c (plug_in_run_cmd_callback): add
	all procedures that take an image paramter to the history of
	last-used procedures. Fixes bug #348243.
	(plug_in_repeat_cmd_callback): use
plug_in_collect_drawable_args()
	to construct the procedure arguments.

	* app/actions/plug-in-actions.c
	* app/plug-in/gimppluginmanager.[ch]: renamed "last_plug_ins" to
	"history"; it's actually a list of procedures.
2006-08-08 15:36:16 +00:00
Michael Natterer 0005f0ff5d app/pdb/Makefile.am app/pdb/gimppluginprocedure.[ch] removed these
2006-08-05  Michael Natterer  <mitch@gimp.org>

	* app/pdb/Makefile.am
	* app/pdb/gimppluginprocedure.[ch]
	* app/pdb/gimptemporaryprocedure.[ch]: removed these files...

	* app/plug-in/Makefile.am
	* app/plug-in/gimppluginprocedure.[ch]
	* app/plug-in/gimptemporaryprocedure.[ch]: ...and added them here.

	* app/Makefile.am
	* app/config/Makefile.am: reordered stuff to make it link again.

	* app/pdb/gimppdb.c: removed gimp_pdb_eek() hack.

	* app/actions/plug-in-actions.c
	* app/dialogs/file-save-dialog.c
	* app/file/file-open.c
	* app/file/file-save.c
	* app/file/file-utils.c
	* app/menus/plug-in-menus.c
	* app/plug-in/gimpplugin-message.c
	* app/plug-in/gimpplugin-progress.c
	* app/plug-in/gimpplugin.c
	* app/plug-in/gimppluginmanager-call.c
	* app/plug-in/gimppluginmanager-file.c
	* app/plug-in/gimppluginmanager-query.c
	* app/plug-in/gimppluginmanager.c
	* app/plug-in/gimppluginprocframe.c
	* app/plug-in/plug-in-def.c
	* app/plug-in/plug-in-rc.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpfileprocview.c
	* app/widgets/gimppluginaction.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/plug_in.pdb: changed includes accordingly.

	* app/pdb/plug_in_cmds.c: regenerated.
2006-08-05 21:21:01 +00:00
Michael Natterer 3f5c71cd97 don't #include "pdb/gimp-pdb-compat.h".
2006-08-05  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimppluginmanager-file.c: don't #include
	"pdb/gimp-pdb-compat.h".
2006-08-05 17:55:37 +00:00
Sven Neumann 6d922b21dc Make message dialogs transient for the progress window. Addresses bug
2006-07-19  Sven Neumann  <sven@gimp.org>

	Make message dialogs transient for the progress window.
Addresses
	bug #347214.

	* app/core/gimp-gui.[ch]: added a progress parameter to
	gimp_message().  Let gimp_message() deal with optionally
	delegating the message to gimp_progress_message().

	* app/errors.c: changed accordingly.

	* app/core/gimpprogress.[ch] (gimp_progress_message): return a
	boolean indicating whether the message was handled.

	* app/gui/Makefile.am
	* app/gui/gui-message.[ch]
	* app/gui/gui-vtable.c: moved message handling to a new file.
Only
	use the global error dialog for messages without a progress.
	Otherwise attach an error dialog to the progress and try to make
	it transient to the progress window.

	* tools/pdbgen/pdb/message.pdb:
	* app/plug-in/gimpplugin-progress.[ch]: don't delegate messages
to
	the progress interface, this is handled by gimp_message() now.

	* app/pdb/message_cmds.c: regenerated.

	* app/plug-in/gimpplugin.c
	* app/actions/documents-commands.c: formatting.
2006-07-19 06:50:34 +00:00
Sven Neumann e5603c965c app/actions/file-commands.c formatting.
2006-07-12  Sven Neumann  <sven@gimp.org>

	* app/actions/file-commands.c
	* app/pdb/gimppluginprocedure.c: formatting.
2006-07-12 06:10:52 +00:00
Manish Singh f1e54be89d app/plug-in/plug-in-params.c libgimp/gimp.[ch]
2006-06-25  Manish Singh  <yosh@gimp.org>

        * app/plug-in/plug-in-params.c
        * libgimp/gimp.[ch]
        * libgimpbase/gimpprotocol.[ch]
        * plug-ins/common/colormap-remap.c
        * plug-ins/common/curve_bend.c
        * plug-ins/common/grid.c
        * plug-ins/pygimp/pygimp-pdb.c
        * plug-ins/script-fu/siod-wrapper.c
        * tools/pdbgen/pdb.pl: turn d_int8 and d_int8array into guint8.
        Fixes bug #344431.
2006-06-25 23:30:15 +00:00
Michael Natterer 88dedcc424 Allow plug-ins to register in <Layers>, <Channels>, <Vectors> and
2006-06-16  Michael Natterer  <mitch@gimp.org>

	Allow plug-ins to register in <Layers>, <Channels>, <Vectors> and
	<ColormapEditor>:

	* app/pdb/gimppluginprocedure.c
	(gimp_plug_in_procedure_add_menu_path): added the argument type
	checks for the new locations. Factored out duplicated code.

	* app/menus/menus.c (menus_init): add the "plug-in" action
	group to the resp. UI managers.

	* app/menus/plug-in-menus.c (plug_in_menus_menu_path_added):
	support them here too.

	* app/widgets/gimpimageeditor.[ch]
	* app/widgets/gimpitemtreeview.[ch]: added get_image() functions.

	* app/actions/plug-in-commands.c: added new utility functions
	which collect plug-in arguments from GimpImageEditor and
	GimpItemTreeView widgets.

	* menus/channels-menu.xml
	* menus/colormap-editor-menu.xml
	* menus/layers-menu.xml
	* menus/vectors-menu.xml: added separators.

	* menus/image-menu.xml.in: added a "Colormap" placeholder in
	Colors/Map

	* plug-ins/common/colormap-remap.c (query): register a menu
	entry in <ColormapEditor> and moved the existing one to the
	"Colormap" placeholder. Also register an icon to make this
	menu item clearly distinct from the others in that menu.

	Unrelated:

	* plug-ins/common/colormap-remap.c (run): cleaned up quite a
	bit. Fixed last-vals code and simplified map handling.

	(remap_swap): removed, folded into run().

	(remap_dialog): use the passed map to initialize the dialog so it
	starts with the last-vals. Tweaked layout to have 16 columns
	and simplified cell renderer creation.
2006-06-16 17:02:14 +00:00
Sven Neumann bee8fb744c when cutting away ellipsis, also look for U+2026 HORIZONTAL ELLIPSIS.
2006-06-16  Sven Neumann  <neumann@jpk.com>

	* app/pdb/gimppluginprocedure.c (gimp_plug_in_procedure_get_label):
	* plug-ins/script-fu/script-fu-interface.c (script_fu_interface):
	when cutting away ellipsis, also look for U+2026 HORIZONTAL ELLIPSIS.
2006-06-16 12:25:02 +00:00
Tor Lillqvist 4af35085a3 Free the string vector returned by g_listenv().
2006-06-13  Tor Lillqvist  <tml@novell.com>

	* app/plug-in/gimpenvirontable.c (gimp_environ_table_populate):
	Free the string vector returned by g_listenv().

	* libgimpwidgets/gimpwidgets.def: Remove deprecated
	gimp_prop_file_entry_new.
2006-06-13 18:06:07 +00:00
Tor Lillqvist 2e0f2b8dfc Use g_listenv() and g_getenv() instead of looking at environ directly.
2006-06-12  Tor Lillqvist  <tml@novell.com>

	* app/plug-in/gimpenvirontable.c (gimp_environ_table_populate):
	Use g_listenv() and g_getenv() instead of looking at environ
	directly. Fixes breakage on Win32 when any (!) environment
	variable has a non-ASCII value, as environ is in system codepage,
	while we want UTF-8.
2006-06-12 16:54:51 +00:00
Sven Neumann 6c25ae9374 Added basic framework for plug-ins to access the use_cpu_accel
2006-06-01  Sven Neumann  <sven@gimp.org>

	Added basic framework for plug-ins to access the use_cpu_accel
	configuration (bug #342860):

	* app/composite/gimp-composite.[ch]: added new function
	gimp_composite_use_cpu_accel().

	* libgimpbase/gimpprotocol.[ch]: added use_cpu_accel to the config
	message.

	* app/plug-in/gimppluginmanager-call.c: pass the return value of
	gimp_composite_use_cpu_accel() for config.use_cpu_accel.

	* libgimp/gimp.[ch]: make the config value accessible by means of
	a new function gimp_use_cpu_accel().

	* libgimp/gimp.def: updated.
2006-06-01 15:34:58 +00:00
Sven Neumann c14c5393cc indentation.
2006-05-16  Sven Neumann  <sven@gimp.org>

	* app/app_procs.c (app_run): indentation.

	* app/core/gimp.c (gimp_real_initialize)
	* app/plug-in/gimppluginmanager.c (gimp_plug_in_manager_restore):
	moved a call to status_callback() to the plug-in manager.
2006-05-16 11:43:55 +00:00
Sven Neumann c357c470e3 removed debugging output.
2006-05-15  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimpplugin.c: removed debugging output.
2006-05-15 10:31:04 +00:00
Sven Neumann 6ebcf700d1 removed erroneous semicolon after G_DEFINE_TYPE macros.
2006-05-15  Sven Neumann  <sven@gimp.org>

	* app/*/*.c:
	* lib*/*.c: removed erroneous semicolon after G_DEFINE_TYPE macros.
2006-05-15 09:46:31 +00:00
Hans Breuer 429d71e5e2 updated dont include "config/gimpbaseconfig.c", it gives an redefinition
2006-05-13  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc app/gimpcore.def : updated
	* app/core/gimp-util.c : dont include "config/gimpbaseconfig.c", it
	gives an redefinition error with msvc. Instead include
	config/gimpbaseconfig.h and libgimpconfig/gimpconfig-path.h

	* plug-ins/common/psd_save.c : fix c99isms (declarations only at the
	start of a block)
2006-05-13 17:05:15 +00:00
Michael Natterer cfe5e9b137 changed enum PlugInImageType to GimpPlugInImageType.
2006-05-08  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-enums.[ch]: changed enum PlugInImageType
	to GimpPlugInImageType.

	* app/pdb/gimppluginprocedure.[ch]: changed accordingly.
2006-05-08 13:18:02 +00:00
Michael Natterer 5a586ba672 changed parameter "gint display_ID" to "GimpObject *display".
2006-05-05  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimppluginmanager-call.[ch]
	(gimp_plug_in_manager_call_run): changed parameter "gint display_ID"
	to "GimpObject *display".

	* app/pdb/gimpprocedure.[ch]
	* app/pdb/gimppluginprocedure.c
	* app/pdb/gimptemporaryprocedure.c: changed
	GimpProcedure::execute_async() the same way.

	* app/plug-in/gimppluginmanager.c
	* app/actions/plug-in-commands.c
	* app/actions/vectors-commands.c
	* app/widgets/gimphelp.c: changed accordingly.
2006-05-05 08:29:33 +00:00
Michael Natterer 808b65cd31 added signals "plug-in-opened" and "plug-in-closed". Added functions
2006-05-05  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimppluginmanager.[ch]: added signals
	"plug-in-opened" and "plug-in-closed". Added functions
	gimp_plug_in_manager_add_open_plug_in() and _remove_open_plugin()
	which maintain the list of open plug-ins and emit the signals.

	* app/plug-in/gimpplugin.c (gimp_plug_in_open)
	(gimp_plug_in_close): don't touch manager->open_plug_ins and don't
	ref/unref the plug-in. Call above new functions instead. Don't
	call gimp_pdb_dialogs_check().

	* app/core/gimp-gui.[ch]
	* app/gui/gui-vtable.c: removed gimp_pdb_dialogs_check().

	* app/widgets/gimppdbdialog.[ch]: removed
	gimp_pdb_dialogs_check_callback() and connect to the
	plug-in-manager's "plug-in-closed" signal instead.
2006-05-04 22:51:21 +00:00
Michael Natterer d033ddda1b cleaned up a bit.
2006-05-04  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimppluginshm.c: cleaned up a bit.

	(gimp_plug_in_shm_new): return NULL if anything goes wrong,
	instead of a GimpPlugInShm structure that contains no shm (we
	don't need multiple cases of "there is no shm"),

	* app/plug-in/gimppluginmanager.[ch]
	(gimp_plug_in_manager_get_shm_ID)
	(gimp_plug_in_manager_get_shm_addr): removed these functions.

	* app/plug-in/gimppluginmanager-call.c (gimp_plug_in_manager_call_run)
	* app/plug-in/gimpplugin-message.c (gimp_plug_in_handle_tile_req):
	get the shm ID and addr directly from manager->shm if it exists,
	use -1 and NULL otherwise.

	Unrelated:

	* app/plug-in/gimppluginmanager.c: move most stuff from
	gimp_plug_in_manager_exit() to gimp_plug_in_manager_finalize().
	Simplify plug-in killing in _exit().
2006-05-04 21:49:04 +00:00
Michael Natterer 2329ed9615 remove member "name" and unused cruft "ref_count". Reordered other members
2006-05-04  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimpplugin.[ch] (struct GimpPlugIn): remove member
	"name" and unused cruft "ref_count". Reordered other members a bit.

	(gimp_plug_in_new): set GimpObject's name to
	g_filename_display_basename(path) instead.

	Use GimpObject's name instead of plug_in->name for error messages
	and pass the full path to gimp_plug_in_debug_argv()

	* app/plug-in/gimpplugindebug.c (gimp_plug_in_debug_argv): extract
	the path's basename ourselves.

	* app/plug-in/gimpplugin-message.c: GimpObject's name for
	error messages.
2006-05-04 11:58:10 +00:00
Michael Natterer 40012d8853 restore the strict checks on string arrays.
2006-05-04  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpparamspecs.c (gimp_string_array_new)
	(gimp_param_string_array_validate): restore the strict checks
	on string arrays.

	* app/plug-in/gimppluginmanager-help-domain.c
	(gimp_plug_in_manager_get_help_domains): return NULL string arrays
	when there are 0 help domains to fix the inconsistency at its root.
2006-05-04 10:03:53 +00:00
Michael Natterer 1fcd4c36a9 app/plug-in/gimpplugin.c use the right procedure types in calls to
2006-05-04  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimpplugin.c
	* app/plug-in/gimppluginmanager-call.c: use the right procedure
	types in calls to gimp_plug_in_proc_frame_foo().
2006-05-04 08:23:20 +00:00
Michael Natterer 4b917ea28b Made an object out of the plug-in struct. Also change refcounting
2006-05-03  Michael Natterer  <mitch@gimp.org>

	Made an object out of the plug-in struct. Also change refcounting
	considerably:

	- gimp_plug_in_open() adds a reference that is only dropped by
	  gimp_plug_in_close().
	- temporarily ref the plug-in while handling messages.
	- remporarily ref the plug-in while a recursive main loop is
	  running.
	- each caller of gimp_plug_in_new() also unrefs the plug-in before
	  returning, the only reference that persists across functions
	  (that keeps the plug-in alive) is the one added by open().

	* app/plug-in/plug-in.[ch]
	* app/plug-in/plug-in-context.[ch]
	* app/plug-in/plug-in-message.[ch]
	* app/plug-in/plug-in-progress.[ch]: removed these files...

	* app/plug-in/gimpplugin.[ch]
	* app/plug-in/gimpplugin-context.[ch]
	* app/plug-in/gimpplugin-message.[ch]
	* app/plug-in/gimpplugin-progress.[ch]: ...and added here as GObject.

	* app/plug-in/plug-in-proc-frame.[ch]: removed...

	* app/plug-in/gimppluginprocframe.[ch]: ...and added with a namespace.

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-types.h
	* app/plug-in/gimppluginmanager-call.c
	* app/plug-in/gimppluginmanager-file.c
	* app/plug-in/gimppluginmanager.[ch]
	* app/pdb/gimppluginprocedure.c
	* app/pdb/gimptemporaryprocedure.c
	* app/pdb/gimptemporaryprocedure.h
	* tools/pdbgen/pdb/context.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/message.pdb
	* tools/pdbgen/pdb/plug_in.pdb
	* tools/pdbgen/pdb/progress.pdb
	* tools/pdbgen/pdb/undo.pdb: changed accordingly.

	* app/pdb/context_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/help_cmds.c
	* app/pdb/message_cmds.c
	* app/pdb/plug_in_cmds.c
	* app/pdb/progress_cmds.c
	* app/pdb/undo_cmds.c: regenerated.
2006-05-03 18:05:06 +00:00
Michael Natterer 927cde4121 added enum GimpPlugInCallMode which can be one of { NONE, QUERY, INIT, RUN
2006-05-02  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-enums.[ch]: added enum GimpPlugInCallMode
	which can be one of { NONE, QUERY, INIT, RUN }.

	* app/plug-in/Makefile.am
	* app/plug-in/gimppluginmanager-run.[ch]: removed again...

	* app/plug-in/gimppluginmanager-call.[ch]: ...and added
	here. Added gimp_plug_in_manager_call_init() and
	gimp_plug_in_manager_call_query().

	* app/plug-in/plug-in.[ch]: removed plug_in_call_query() and
	plug_in_call_init().

	(struct PlugIn): removed members "init", "query" and "synchronous".

	(plug_in_open): added parameters "call_mode" and "synchronous".

	* app/plug-in/gimppluginmanager.c
	* app/plug-in/plug-in-message.c
	* app/pdb/gimppluginprocedure.c
	* app/pdb/gimptemporaryprocedure.c
	* tools/pdbgen/pdb/plug_in.pdb: changed accordingly.

	* app/pdb/plug_in_cmds.c: regenerated.
2006-05-02 18:27:31 +00:00
Michael Natterer 38406b7202 removed plug_in_push() and plug_in_pop()...
2006-04-29  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in.[ch]: removed plug_in_push() and
	plug_in_pop()...

	* app/plug-in/gimppluginmanager.[ch]: ...and added them here as
	gimp_plug_in_manager_plug_in_push() and _pop()

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): changed
	accordingly.

	* app/plug-in/plug-in.c (plug_in_close): removed an unused
	variable, moved another one to a local scope.

	* app/plug-in/plug-in.h: indentation.
2006-04-29 19:03:44 +00:00
Michael Natterer 74a27a001a NULL-terminate string arrays here too, so they can be freed with
2006-04-29  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimppluginmanager-locale-domain.c
	(gimp_plug_in_manager_get_locale_domains): NULL-terminate string
	arrays here too, so they can be freed with g_strfreev() (even
	though they currently aren't).

	* app/widgets/gimphelp.c: set the plug-in arguments
	correctly. Fixes warnings and makes help work again.
2006-04-29 17:55:42 +00:00
Tor Lillqvist f117a6252c NULL-terminate the locale_domains and locale_paths string vectors, as they
2006-04-29  Tor Lillqvist  <tml@novell.com>

	* app/plug-in/gimppluginmanager-locale-domain.c
	(gimp_plug_in_manager_get_locale_domains): NULL-terminate the
	locale_domains and locale_paths string vectors, as they are freed
	with g_strfreev() in gimp_plug_in_manager_restore().
2006-04-28 23:45:51 +00:00
Tor Lillqvist 0530314017 Make it compile again on Win32. Use g_usleep() instead of select()/Sleep()
2006-04-29  Tor Lillqvist  <tml@novell.com>

	* app/plug-in/plug-in.c (plug_in_close): Make it compile again on
	Win32. Use g_usleep() instead of select()/Sleep() Unix/Windows
	ifdef.
2006-04-28 23:23:19 +00:00
Michael Natterer b05baea60a app/plug-in/Makefile.am removed...
2006-04-29  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-run.[ch]: removed...

	* app/plug-in/gimppluginmanager-run.[ch]: ...and added as methods
	of GimpPlugInManager.

	* app/pdb/gimppluginprocedure.c
	* app/pdb/gimptemporaryprocedure.c: changed accordingly.
2006-04-28 23:13:23 +00:00
Michael Natterer f1c3e79a4b app/plug-in/Makefile.am app/plug-in/plug-in-types.h new object which keeps
2006-04-29  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-types.h
	* app/plug-in/gimppluginmanager.[ch]: new object which keeps all
	plug-in related stuff that was kept in the Gimp instance. Has
	"menu-branch-added" and "last-plug-in-changed" signals.

	* app/plug-in/plug-ins.[ch]: removed, all its functions are in
	GimpPlugInManager now.

	* app/core/gimpmarshal.list: new marshaller for the new object.

	* app/core/gimp.[ch]: removed all plug-in related stuff and keep a
	GimpPlugInManager around.

	* app/plug-in/plug-in-data.[ch]
	* app/plug-in/plug-in-file.[ch]
	* app/plug-in/plug-in-help-domain.[ch]
	* app/plug-in/plug-in-locale-domain.[ch]
	* app/plug-in/plug-in-menu-branch.[ch]
	* app/plug-in/plug-ins-query.[ch]: removed...

	* app/plug-in/gimppluginmanager-data.[ch]
	* app/plug-in/gimppluginmanager-file.[ch]
	* app/plug-in/gimppluginmanager-help-domain.[ch]
	* app/plug-in/gimppluginmanager-locale-domain.[ch]
	* app/plug-in/gimppluginmanager-menu-branch.[ch]
	* app/plug-in/gimppluginmanager-query.[ch]: ...and added as
	methods of GimpPlugInManager.

	* app/plug-in/plug-in-debug.[ch]
	* app/plug-in/plug-in-shm.[ch]: removed...

	* app/plug-in/gimpplugindebug.[ch]
	* app/plug-in/gimppluginshm.[ch]: ...and added as properly
	namespeced structs with constructors and destructors.

	* app/core/Makefile.am
	* app/core/gimpenvirontable.[ch]
	* app/core/gimpinterpreterdb.[ch]: removed...

	* app/plug-in/gimpenvirontable.[ch]
	* app/plug-in/gimpinterpreterdb.[ch]: ...and added here unchanged.

	* app/core/gimp-gui.[ch]
	* app/gui/gui-vtable.c: remove gimp_menus_create_branch() and all
	related stuff.

	* app/actions/plug-in-actions.[ch]: connect to the
	plug-in-manager's "menu-path-added" signal and create menu branch
	actions accordingly.

	* app/plug-in/plug-in-context.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-in-run.[ch]
	* app/plug-in/plug-in.[ch]
	* app/app_procs.c
	* app/actions/file-commands.c
	* app/actions/plug-in-commands.c
	* app/core/gimpimage.c
	* app/dialogs/file-open-location-dialog.c
	* app/dialogs/file-save-dialog.c
	* app/file/file-open.c
	* app/gui/gui.c
	* app/menus/plug-in-menus.c
	* app/pdb/gimppluginprocedure.c
	* app/pdb/gimptemporaryprocedure.c
	* app/widgets/gimpdnd-xds.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpfileprocview.c
	* app/widgets/gimphelp.c
	* app/widgets/gimpthumbbox.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/context.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/message.pdb
	* tools/pdbgen/pdb/plug_in.pdb
	* tools/pdbgen/pdb/procedural_db.pdb
	* tools/pdbgen/pdb/progress.pdb
	* tools/pdbgen/pdb/undo.pdb: follow above refactoring.

	* app/pdb/context_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/fileops_cmds.c
	* app/pdb/help_cmds.c
	* app/pdb/message_cmds.c
	* app/pdb/plug_in_cmds.c
	* app/pdb/procedural_db_cmds.c
	* app/pdb/progress_cmds.c
	* app/pdb/undo_cmds.c: regenerated.
2006-04-28 22:26:51 +00:00
Michael Natterer 305ada6354 new function which returns string arrays of all registered locale domains
2006-04-27  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-locale-domain.[ch] (plug_in_locale_domains):
	new function which returns string arrays of all registered locale
	domains and paths.

	(plug_in_standard_locale_domain): removed this function. The
	standard plug-in domain is included in the domains returned by
	plug_in_locale_domains().

	* app/plug-in/plug-ins.c (plug_ins_init): simply bind the text
	domains here instead of calling gimp_menus_init(). Destroy
	gimp->plug_in_defs much earlier.

	* app/core/gimp-gui.[ch]
	* app/gui/gui-vtable.c: removed gimp_menus_init().

	* app/menus/plug-in-menus.[ch]: removed plug_in_menus_init(),
	binding text domains is completely done in the core now.
2006-04-27 21:53:33 +00:00
Michael Natterer ee66f2f31d Added some signals inspired by Rockwalrus' libpdb:
2006-04-27  Michael Natterer  <mitch@gimp.org>

	Added some signals inspired by Rockwalrus' libpdb:

	* app/pdb/gimppdb.[ch]: added signals "register-procedure" and
	"unregister-procedure".

	* app/pdb/gimppluginprocedure.[ch]: added signal "menu-path-added".

	* app/actions/plug-in-actions.[ch]
	* app/menus/plug-in-menus.[ch]: connect to the new signals and
	create/destroy plug-in actions and menus accordingly. Made all
	needed functions private and merged some of them with the newly
	added signal callbacks.

	* app/core/gimp-gui.[ch]
	* app/gui/gui-vtable.c: removed gimp_menus_create_item() and
	gimp_menus_delete_item() and all related stuff.

	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins.c: removed calls to the removed functions.

	* app/plug-in/plug-ins.c (plug_ins_init): add the plug-in
	procedures to the PDB *after* calling gimp_menus_init() so their
	locale domains are properly initialized when the menus are
	created.
2006-04-27 19:36:13 +00:00