Commit Graph

683 Commits

Author SHA1 Message Date
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
Michael Natterer 6da388be93 Applied modified patch from Michael J. Hammel which allows to remove all
2006-05-11  Michael Natterer  <mitch@gimp.org>

	Applied modified patch from Michael J. Hammel which allows to
	remove all keyboard shortcuts from the menus (fixes bug #331839):

	* app/dialogs/preferences-dialog.c: added "Remove all keyboard
	shortcuts" button to the "Interface" section.

	* app/menus/menus.[ch]: added menus_remove() which does the
	shortcut removal.
2006-05-11 12:29:57 +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
Michael Natterer a34dd51bba namespace cleanup: renamed menu_can_change_accels() to
2006-04-27  Michael Natterer  <mitch@gimp.org>

	* app/menus/menus.c: namespace cleanup: renamed
	menu_can_change_accels() to menus_can_change_accels().
2006-04-27 09:23:14 +00:00
Michael Natterer 1f8c1ae34e app/plug-in/Makefile.am app/plug-in/plug-ins-help.[ch] remove these files
2006-04-09  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in/plug-ins-help.[ch]
	* app/plug-in/plug-ins-locale.[ch]: remove these files again...

	* app/plug-in/plug-in-help-domain.[ch]
	* app/plug-in/plug-in-locale-domain.[ch]: ... and add them here
	with changed namespace.

	* app/plug-in/plug-in-menu-branch.[ch]: new files keeping menu
	branches registered by plug-ins.

	* app/plug-in/plug-ins.[ch]: removed the menu branch stuff here.

	* app/actions/plug-in-actions.c
	* app/menus/plug-in-menus.c
	* app/plug-in/plug-in.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpfileprocview.c
	* app/widgets/gimphelp.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.
2006-04-09 21:04:37 +00:00
Michael Natterer 5cf5b8ca1c app/plug-in/Makefile.am app/plug-in/plug-ins-help.[ch] new files managing
2006-04-09  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in/plug-ins-help.[ch]
	* app/plug-in/plug-ins-locale.[ch]: new files managing plug-in
	help domains and locale domains.

	* app/plug-in/plug-ins.[ch]: removed the functions here. Minor
	unrelated cleanups.

	* app/plug-in/plug-in.c
	* app/actions/plug-in-actions.c
	* app/menus/plug-in-menus.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpfileprocview.c
	* app/widgets/gimphelp.c
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/plug_in.pdb: changed includes accordingly.

	* app/pdb/help_cmds.c
	* app/pdb/plug_in_cmds.c: regenerated.
2006-04-09 16:25:47 +00:00
Michael Natterer c03c336ccf added flag "guint static_name : 1" and new APIs
2006-04-07  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpobject.[ch]: added flag "guint static_name : 1" and
	new APIs gimp_object_set_static_name() and _take_name().

	* app/pdb/gimpprocedure.[ch]: removed member "name". Use
	GimpObject's name instead.

	* app/actions/plug-in-actions.c
	* app/file/file-open.c
	* app/file/file-save.c
	* app/menus/plug-in-menus.c
	* app/pdb/gimp-pdb-query.c
	* app/pdb/gimp-pdb.c
	* app/pdb/gimppluginprocedure.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-ins-query.c
	* app/plug-in/plug-ins.c
	* app/xcf/xcf.c
	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/fileops.pdb: use GimpObject API to set/get
	a procedure's name.

	* app/pdb/*_cmds.c: regenerated.
2006-04-07 10:04:27 +00:00
Michael Natterer 5f211479ac ref all registered procedures.
2006-04-07  Michael Natterer  <mitch@gimp.org>

	* app/pdb/gimp-pdb.c (gimp_pdb_register)
	(gimp_pdb_unregister): ref all registered procedures.

	* app/xcf/xcf.c
	* tools/pdbgen/app.pl: unref newly created procedures after
	registering them.

	* app/core/gimp.[ch]: renamed member "plug_in_proc_defs" to
	"plug_in_procedures". Renamed "proc_def" variables to "procedure".

	* app/actions/plug-in-actions.c
	* app/menus/plug-in-menus.c: changed accordingly.

	* app/plug-in/plug-ins.[ch]: keep a reference to all procs which
	are in gimp->plug_in_procedures.

	(plug_ins_exit): unref them all and free the list. Apparently we
	were leaking them before on exit.

	* app/plug-in/plug-in-def.[ch]: s/proc_defs/procedures/. Ref
	procedures added with plug_in_def_add_procedure(). Added
	plug_in_def_remove_procedure() which unrefs them again. Removed
	"free_proc_defs" parameter from plug_in_def_free() and always
	unref the procedures.

	* app/plug-in/plug-in.[ch]: added plug_in_add_temp_proc() and
	plug_in_remove_temp() proc. Ref the added procedures.

	* app/plug-in/plug-in-message.c: use the new APIs instead of
	adding/removing procs and temp procs from their lists manually.
	Unref the newly created procedure after adding then to the
	plug_in_def or plug_in.

	* app/plug-in/plug-in-rc.[ch]
	* app/plug-in/plug-ins-query.c
	* tools/pdbgen/pdb/plug_in.pdb: changed accordingly.

	* app/pdb/*_cmds.c: regenerated.
2006-04-07 08:16:26 +00:00
Michael Natterer 7e258dfa27 app/plug-in/Makefile.am app/plug-in/plug-in-types.h removed...
2006-04-06  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-types.h
	* app/plug-in/plug-in-proc-def.[ch]: removed...

	* app/pdb/Makefile.am
	* app/pdb/pdb-types.h
	* app/pdb/gimppluginprocedure.[ch]: ...and added here. Virtualized
	get_progname().

	* app/pdb/gimptemporaryprocedure.[ch]: new class derived from
	GimpPlugInProcedure.

	* app/pdb/gimpprocedure.[ch] (struct GimpProcedure): remove union
	exec_method and all the structs it needed. Procedure execution is
	properly virtualized now. Removed gimp_procedure_initialize() and
	grow the args and values arrays dynamically in
	gimp_procedure_add_argument()/return_value(). Added marshal_func
	parameter to gimp_procedure_new().

	* app/actions/plug-in-actions.c
	* app/actions/plug-in-commands.c
	* app/core/gimp-gui.c
	* app/dialogs/file-save-dialog.c
	* app/file/file-open.c
	* app/file/file-save.c
	* app/file/file-utils.c
	* app/gui/gui-vtable.c
	* app/menus/plug-in-menus.c
	* app/plug-in/plug-in-def.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-progress.c
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-in-run.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins-query.c
	* app/plug-in/plug-ins.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
	* tools/pdbgen/app.pl: changed accordingly.

	* app/pdb/*_cmds.c: regenerated.

	* app/pdb/gimp-pdb.c: added uglyness to make the app link again.
2006-04-06 10:01:30 +00:00
Michael Natterer 086d0b6371 app/plug-in/plug-in-types.h renamed to GimpPlugInProcedure and made a
2006-04-05  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-types.h
	* app/plug-in/plug-in-proc-def.[ch]: renamed to GimpPlugInProcedure
	and made a GObject derived from GimpProcedure (instead of having
	a pointer to a GimpProcedure). Added image_types and file_magic
	utility functions taken from plug-ins.[ch]. Still lives in the
	same crappy files because I am undecided where to put it...

	* app/pdb/gimpprocedure.c (gimp_procedure_real_execute): removed
	switch() statement and always call the internal marshaller because
	GimpProcedure::execute() is properly overridden by
	GimpPlugInProcedure now.

	* app/plug-in/plug-ins.[ch]: removed the mime_type and file_magic
	utilities added to GimpPlugInProcedure.

	* app/actions/file-commands.c
	* app/actions/plug-in-actions.[ch]
	* app/actions/plug-in-commands.[ch]
	* app/core/gimp-gui.[ch]
	* app/core/gimp.[ch]
	* app/core/gimpimage.[ch]
	* app/dialogs/file-open-dialog.c
	* app/dialogs/file-save-dialog.c
	* app/dialogs/print-size-dialog.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.[ch]
	* app/plug-in/plug-in-def.[ch]
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-in-run.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins-query.c
	* app/widgets/gimpactiongroup.[ch]
	* app/widgets/gimpdnd-xds.c
	* app/widgets/gimpfiledialog.[ch]
	* app/widgets/gimpfileprocview.[ch]
	* app/widgets/gimppluginaction.[ch]
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/plug_in.pdb: changed addordingly.

	* app/pdb/fileops_cmds.c
	* app/pdb/plug_in_cmds.c: regenerated.
2006-04-05 08:38:33 +00:00
Michael Natterer 49da8cb2d1 added gimp_procedure_new() and gimp_procedure_free() functions.
2006-03-31  Michael Natterer  <mitch@gimp.org>

	* app/pdb/gimpprocedure.[ch]: added gimp_procedure_new() and
	gimp_procedure_free() functions.

	* app/plug-in/plug-in-proc-def.h (struct PlugInProcDef): use a
	ProcRecord pointer instead of including the entire struct.

	* app/plug-in/plug-in-proc-def.c: use the new() and free()
	functions above to allocate/free the ProcRecord.

	* app/actions/plug-in-actions.c
	* app/actions/plug-in-commands.c
	* app/menus/plug-in-menus.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-in-run.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins-query.c
	* app/plug-in/plug-ins.c
	* app/xcf/xcf.c: changed accordingly.

	Unrelated:

	* app/pdb/gimpprocedure.c (gimp_procedure_execute): be more verbose
	when warning about out-of-bounds parameter values.

	* tools/pdbgen/pdb/fileops.pdb: allow GIMP_RUN_WITH_LAST_VALS for
	file_save because indirect saving (e.g. remote or compressed)
	needs it.

	* app/pdb/fileops_cmds.c: regenerated.
2006-03-31 11:49:22 +00:00
Sven Neumann d833630ad8 app/config/gimpcoreconfig.[ch] app/config/gimprc-blurbs.h keep a history
2006-02-20  Sven Neumann  <sven@gimp.org>

	* app/config/gimpcoreconfig.[ch]
	* app/config/gimprc-blurbs.h
	* app/core/gimp.[ch]: keep a history of recently used plug-ins.

	* app/plug-in/plug-in-run.[ch] (plug_in_repeat): pass an index
	into the plug-in history.

	* app/actions/plug-in-actions.c
	* app/actions/plug-in-commands.c
	* app/menus/plug-in-menus.c
	* menus/image-menu.xml.in: added a submenu with recently used
	plug-ins to the Filters menu. Fixes bug #148855.
2006-02-20 16:38:09 +00:00
Michael Natterer e5f046c33e don't crash if gdk_display_get_name() returns NULL.
2005-11-26  Michael Natterer  <mitch@gimp.org>

	* app/menus/window-menu.c (window_menu_display_opened,closed):
	don't crash if gdk_display_get_name() returns NULL.
2005-11-26 23:03:40 +00:00
Michael Natterer 8b6b8f413e connect to GdkDisplayManager and automatically add/remove move-to-screen
2005-11-17  Michael Natterer  <mitch@gimp.org>

	* app/actions/window-actions.[ch]: connect to GdkDisplayManager
	and automatically add/remove move-to-screen actions when
	displays are opened/closed.

	* app/menus/window-menu.c: added similar code here to add/remove
	menu items for the above actions.

	* app/actions/Makefile.am
	* app/actions/window-commands.[ch]: new files containing window
	close and move-to-screen callbacks. There is no need to implement
	these twice for GimpDock and GimpDisplay.

	* app/actions/dock-commands.[ch]
	* app/actions/view-commands.[ch]: remove the callbacks here.

	* app/actions/dock-actions.c
	* app/actions/view-actions.c: changed accordingly.
2005-11-17 20:16:07 +00:00
Michael Natterer 5f90c4cddb app/core/gimp-modules.c more output on --verbose
2005-11-07  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-modules.c
	* app/menus/menus.c: more output on --verbose
2005-11-07 09:39:06 +00:00
Michael Natterer f546e1e701 Let the data editors optionally follow the active brush, palette and
2005-10-25  Michael Natterer  <mitch@gimp.org>

	Let the data editors optionally follow the active brush, palette
	and gradient. Still needs to be saved in sessionrc and probably
	be enabled by default. Addresses bug #313547.

	* app/widgets/gimpdataeditor.[ch]: added new functions
	gimp_data_editor_set,get_edit_active().

	Make it configurable from the palette and gradient editor menus:

	* app/actions/gradient-editor-actions.c
	* app/actions/palette-editor-actions.c: added actions...

	* app/actions/data-editor-commands.[ch]: ...and callbacks...
	(new file).

	* app/widgets/gimphelp-ids.h: ...help IDs...

	* menus/gradient-editor-menu.xml
	* menus/palette-editor-menu.xml: ...and menu items.

	Add menu to the brush editor and make it configurable there too:

	* app/actions/Makefile.am
	* app/actions/actions.c
	* app/actions/brush-editor-actions.[ch]
	* app/menus/menus.c
	* menus/Makefile.am
	* menus/brush-editor-menu.xml: added all the bits needed for
	the new menu.

	* app/widgets/gimpbrusheditor.[ch]: use the menu. Added menu_factory
	paramater to the contstructor.

	* app/dialogs/dialogs-constructors.c: changed accordingly.
2005-10-25 21:38:00 +00:00
Michael Natterer 48cdc65327 Allow plug-ins to register menu entries in the <Brushes>, <Gradients>,
2005-09-26  Michael Natterer  <mitch@gimp.org>

	Allow plug-ins to register menu entries in the <Brushes>,
	<Gradients>, <Palettes>, <Patterns> and <Fonts> menus:

	* app/actions/actions.c (action_data_get_gimp): return a Gimp
	also if "data" is a GimpContainerView or GimpContainerEditor.

	* app/gui/gui-vtable.c (gui_menus_add_proc)
	* app/plug-in/plug-in-params.c (plug_in_proc_args_check): support
	the new plug-in menu locations.

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

	* menus/brushes-menu.xml
	* menus/buffers-menu.xml
	* menus/fonts-menu.xml
	* menus/gradients-menu.xml
	* menus/palettes-menu.xml
	* menus/patterns-menu.xml: added separators at the end of the menus.

	* plug-ins/script-fu/scripts/font-map.scm: -> <Fonts>
	* plug-ins/script-fu/scripts/gradient-example.scm: -> <Gradients>
	* plug-ins/script-fu/scripts/mkbrush.scm: -> <Brushes>

	* plug-ins/script-fu/script-fu.c (script_fu_extension_init): don't
	register the "Make Brush" menu branch.
2005-09-26 10:36:07 +00:00
Michael Natterer 1adf3d71af Did a global s/qmask/quick-mask/:
2005-09-19  Michael Natterer  <mitch@gimp.org>

	Did a global s/qmask/quick-mask/:

	* app/actions/qmask-actions.[ch]
	* app/actions/qmask-commands.[ch]
	* app/core/gimpimage-qmask.[ch]
	* menus/qmask-menu.xml
	* themes/Default/images/stock-qmask-off-16.png
	* themes/Default/images/stock-qmask-on-16.png: removed.

	* app/actions/quick-mask-actions.[ch]
	* app/actions/quick-mask-commands.[ch]
	* app/core/gimpimage-quick-mask.[ch]
	* menus/quick-mask-menu.xml
	* themes/Default/images/stock-quick-mask-off-16.png
	* themes/Default/images/stock-quick-mask-on-16.png: added.

	* app/actions/Makefile.am
	* app/actions/actions.c
	* app/core/Makefile.am
	* app/core/core-enums.[ch]
	* app/core/gimpchannel.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-undo.c
	* app/core/gimpimage.[ch]
	* app/core/gimpundo.[ch]
	* app/display/gimpdisplayshell-appearance.c
	* app/display/gimpdisplayshell-callbacks.[ch]
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell.[ch]
	* app/menus/menus.c
	* app/widgets/gimphelp-ids.h
	* libgimpwidgets/gimpstock.[ch]
	* menus/Makefile.am
	* menus/image-menu.xml.in
	* themes/Default/images/Makefile.am: changed accordingly.
2005-09-19 12:44:06 +00:00
Sven Neumann 19152b85bb app/actions/edit-actions.c app/menus/menus.c app/widgets/gimpundoeditor.c
2005-09-05  Sven Neumann  <sven@gimp.org>

	* app/actions/edit-actions.c
	* app/menus/menus.c
	* app/widgets/gimpundoeditor.c
	* menus/Makefile.am
	* menus/undo-editor-menu.xml: added menu for undo editor.
2005-09-05 19:31:28 +00:00
Michael Natterer df4aa0715a added "sample-merged" property and API. Pass it to
2005-07-09  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpsamplepointeditor.[ch]: added "sample-merged"
	property and API. Pass it to gimp_image_pick_color().

	* app/actions/Makefile.am
	* app/actions/actions.c
	* app/actions/sample-point-editor-actions.[ch]
	* app/actions/sample-point-editor-commands.[ch]: actions and
	callbacks for the sample point editor's menu.

	* app/widgets/gimphelp-ids.h: its help IDs.

	* app/menus/menus.c
	* menus/Makefile.am
	* menus/sample-point-editor-menu.xml: the sample point editor menu.
2005-07-09 11:23:15 +00:00
Michael Natterer 2f7388db6f added boolean "sample-merged" property, API and GUI. Pick from the active
2005-07-09  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcursorview.[ch]: added boolean "sample-merged"
	property, API and GUI. Pick from the active drawable if it's
	FALSE.

	* app/actions/Makefile.am
	* app/actions/actions.c
	* app/actions/cursor-info-actions.[ch]
	* app/actions/cursor-info-commands.[ch]: new files with actions
	and callbacks for the cursor info dialog's menu.

	* app/widgets/gimphelp-ids.h: help IDs for above actions.

	* app/dialogs/dialogs.c: follow help ID change.

	* app/menus/menus.c
	* menus/Makefile.am
	* menus/cursor-info-menu.xml: add the cursor-info menu.

	* app/dialogs/dialogs-constructors.c: pass the menu factory to
	gimp_cursor_view_new().
2005-07-08 22:54:46 +00:00
Michael Natterer 0a5ce16b84 Added API to explicitly register dynamic menu items hierarchies. Fixes bug
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.
2005-03-24 16:08:04 +00:00
Hans Breuer c6f63ea4e1 TILE_WIDTH is used unconditionally so always include "tile.h" WIN32 needs
2005-02-19  Hans Breuer  <hans@breuer.org>

	* app/base/pixel-processor.c : TILE_WIDTH is used unconditionally
	so always include "tile.h"
	* app/base/tile-swap.c : WIN32 needs <process.h> for _getpid()

	* app/dialogs/user-install-dialog.c : include gimpwin32-io.h
	* libgimpbase/gimpwin32-io.h : there are no group or other
	flags in msvcrt, define S_IGRP etc in terms of _S_IREAD etc

	* plug-ins/script-fu/script-fu.c plug-ins/script-fu/siod-wrapper.c :
	no script-fu server on win32, make respective function calls conditional

	* libgimpconfig/makefile.msc : new file
	* **/makefile.msc app/gimpcore.def : updated, gimp builds
	and runs once more with ms toolchain
2005-02-19 00:50:36 +00:00
Sven Neumann 9511753a02 check for gthread-2.0 unless the --disable-mp option is given.
2005-02-13  Sven Neumann  <sven@gimp.org>

	* configure.in: check for gthread-2.0 unless the --disable-mp
	option is given.

	* app/app_procs.c (app_libs_init): call g_thread_init().

	* app/base/pixel-processor.c: ported to GThread.

	* app/Makefile.am
	* app/*/Makefile.am: use @GTHREAD_CFLAGS@.
2005-02-13 15:08:08 +00:00
Sven Neumann 648cccde5e app/base/base.c app/base/temp-buf.c app/base/tile-swap.c
2005-02-07  Sven Neumann  <sven@gimp.org>

	* app/base/base.c
	* app/base/temp-buf.c
	* app/base/tile-swap.c
	* app/config/gimpconfig-file.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpdata.c
	* app/core/gimpenvirontable.c
	* app/core/gimpgradient-load.c
	* app/core/gimpgradient-save.c
	* app/core/gimppalette-import.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c
	* app/dialogs/user-install-dialog.c
	* app/gui/session.c
	* app/menus/menus.c
	* app/widgets/gimpdevices.c: use gstdio wrappers.
2005-02-07 01:24:22 +00:00
Michael Natterer f3e0792dcf Some cleanup to make plug-in menu creation less hackish and finally enable
2005-01-31  Michael Natterer  <mitch@gimp.org>

	Some cleanup to make plug-in menu creation less hackish and
	finally enable registering plug-in menu entries in much more UI
	managers (not only in the image and toolbox menus):

	* app/menus/menus.c: added a <Toolbox> UI manager instead of
	creating the toolbox menu from the <Image> UI manager.

	* app/widgets/gimpimagedock.[ch]: removed the ui_manager and the
	signal connections to update it...

	* app/widgets/gimpdock.[ch]: ...and added them here so all docks
	have their own UI manager. Determine which manager to create from
	looking at GimpDockClass::ui_manager_name (defaults to <Dock>).

	* app/widgets/gimptoolbox.c: set ui_manager_name to <Toolbox> and
	use the UI manager created by our parent class instead of using
	the <Image> one.

	(toolbox_create_tools): use gimp_action_get_accel_closure()
	instead of doing evil hacks.

	* app/gui/gui-vtable.c
	* app/menus/plug-in-menus.c: removed lots of special casing of the
	<Image> UI manager. The code is almost ready for allowing plug-in
	menus under <Layers>, <Channels>, <Brushes> etc.
2005-01-31 16:09:52 +00:00
Michael Natterer b0f83a4b4f app/actions/Makefile.am new files holding utility functions to create
2005-01-28  Michael Natterer  <mitch@gimp.org>

	* app/actions/Makefile.am
	* app/actions/window-actions.[ch]: new files holding utility
	functions to create actions to move windows to other screens.

	* app/actions/dock-actions.c
	* app/actions/dock-commands.[ch]
	* app/actions/view-actions.c
	* app/actions/view-commands.[ch]: use the new actions instead of
	the change screen dialog.

	* app/menus/Makefile.am
	* app/menus/window-menu.[ch]: new files which create menu items
	for above actions.

	* app/menus/dockable-menu.[ch]: new files using above window-menu
	utility functions.

	* app/menus/image-menu.c: use them here too.

	* app/menus/menus.c: set a setup_func for the "<Dockable>"
	UI manager.

	* menus/dockable-menu.xml.in
	* menus/image-menu.xml.in: changed accordingly.
2005-01-28 19:48:31 +00:00
Michael Natterer 1ba788fd82 app/actions/dockable-actions.c removed dock-related actions
2005-01-26  Michael Natterer  <mitch@gimp.org>

	* app/actions/dockable-actions.c
	* app/actions/dockable-commands.[ch]: removed dock-related
	actions (show-image-menu, auto-follow-active and move-to-screen).

	* app/actions/dock-actions.c
	* app/actions/dock-commands.[ch]: and added them here.

	* app/menus/menus.c: add the "dock" action group to the
	"<Dockable>" UI Manager.

	* app/widgets/gimphelp-ids.h: reordered to match the new grouping.

	* menus/dockable-menu.xml.in: changed accordingly.
2005-01-26 13:34:41 +00:00
Michael Natterer 8d3c38c94b Enabled closing docks with Ctrl-W:
2005-01-24  Michael Natterer  <mitch@gimp.org>

	Enabled closing docks with Ctrl-W:

	* app/actions/Makefile.am
	* app/actions/dock-actions.[ch]
	* app/actions/dock-commands.[ch]: added new action group which
	holds a single action, "dock-close".

	* app/actions/actions.c: register the "dock" group.

	* app/menus/menus.c: add it to the "<Dock>" UI manager.

	* app/widgets/gimphelp-ids.h: added GIMP_HELP_DOCK_CLOSE.
2005-01-23 23:00:21 +00:00
Sven Neumann 9c65cb8f14 made the code a little more robust by not relying on certain properties of
2005-01-03  Sven Neumann  <sven@gimp.org>

	* app/menus/plug-in-menus.c: made the code a little more robust by
	not relying on certain properties of the menu path.
2005-01-03 21:02:38 +00:00
Michael Natterer 518ab86b64 create dynamic sub-menus using a separate, ui-manager-global merge_id
2004-11-23  Michael Natterer  <mitch@gimp.org>

	* app/menus/plug-in-menus.c (plug_in_menus_add_proc): create
	dynamic sub-menus using a separate, ui-manager-global merge_id
	instead of the procedure's merge_id. Has the effect that the ui
	manager keeps around these sub-menus forever, even if the
	procedure that initially registered them is unregistered.
	Fixes menu ordering after Script-Fu->Refresh.
2004-11-23 14:35:45 +00:00
Michael Natterer 5d7b121fd7 Don't use deprecated GtkToolbar API in GimpTextEditor:
2004-11-04  Michael Natterer  <mitch@gimp.org>

	Don't use deprecated GtkToolbar API in GimpTextEditor:

	* app/actions/Makefile.am
	* app/actions/actions.c
	* app/actions/text-editor-actions.[ch]
	* app/actions/text-editor-commands.[ch]: added acions and
	callbacks for the new "text-editor" action group.

	* app/menus/menus.c: register a "<TextEditor>" UI manager.

	* menus/Makefile.am
	* menus/text-editor-toolbar.xml: new file for the toolbar.

	* app/widgets/gimptexteditor.[ch]: use the toolbar created by the
	UI manager instead of constructing it using deprecated API.

	* app/tools/gimptextoptions.c: changed accordingly.

	* app/widgets/gimpwidgets-utils.[ch]: added gimp_text_buffer_load()
	(used by text-editor-commands.c).
2004-11-04 14:24:32 +00:00
Michael Natterer b4ea222c23 Ported GimpNavigationView to use actions for its buttons:
2004-09-26  Michael Natterer  <mitch@gimp.org>

	Ported GimpNavigationView to use actions for its buttons:

	* app/menus/menus.c (menus_init): register a <GimpNaviagaionEditor>
	UI manager containing the "view" action group.

	* app/actions/actions.c (action_data_get_foo): handle "data" being
	a GimpNavigationEditor.

	* app/actions/view-actions.c (view_actions): added tooltips for
	the actions used in the editor.

	(view_actions_update): use action_data_get_display() instead of
	checking the type of "data" manually.

	* app/widgets/gimpeditor.c (gimp_editor_add_action_button): use
	a GtkToggleButton instead of GimpButton for GtkToggleActions.

	* app/display/gimpnavigationeditor.[ch]: added a GimpMenuFactory
	parameter to the public constructor and removed all other
	parameters. Simplified gimp_navigation_editor_new_private() and
	use gimp_editor_add_action_button() instead of just add_button()
	for creating the buttons. Made gimp_navigation_view_set_shell()
	private. Update the UI manager when the shell zooms or scrolls.

	* app/dialogs/dialogs-constructors.c (dialogs_navigation_view_new):
	pass the menu_factory to gimp_navigation_editor_new().

	Removed #includes which are not needed any more.
2004-09-26 15:21:44 +00:00
Michael Natterer 9ffc00be80 app/plug-in/Makefile.am removed... ...and added with a new name.
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.
2004-09-22 15:12:24 +00:00
Michael Natterer c448cf9d94 added GimpMenuFactory parameter and removed inclusion on "menus/menus.h".
2004-09-20  Michael Natterer  <mitch@gimp.org>

	* app/dialogs/dialogs.[ch] (dialogs_init): added GimpMenuFactory
	parameter and removed inclusion on "menus/menus.h".

	* app/menus/menus.[ch] (menus_init): added GimpActionFactory
	parameter and removed inclusion of "actions/actions.h".

	* app/gui/gui.c (gui_restore_callback): pass the factories to the
	above functions.
2004-09-20 14:41:54 +00:00
Michael Natterer d03577fab2 Restored sane sorting order for menus which are created entirely by
2004-08-11  Michael Natterer  <mitch@gimp.org>

	Restored sane sorting order for menus which are created
	entirely by plug-ins (like Xtns/Script-Fu/...).

	* app/menus/plug-in-menus.c (plug_in_menus_build_path): made it
	return the built path. For each sub-menu created, add a "Menus"
	placeholder and a separator. Make sure all sub-menus end up in the
	"Menus" placeholder. More readable because we can use the path
	returned by the recursive invocation now.

	(plug_in_menus_add_proc): simplified by using the path
	plug_in_menus_build_path() returns.
2004-08-11 10:45:47 +00:00
Hans Breuer 3b3039148c build but *dont link* display-enums.obj, widget-enums.obj and
2004-07-31  Hans Breuer  <hans@breuer.org>

	* app/display/makefile.msc app/widgets/makefile.msc : build
	but *dont link* display-enums.obj, widget-enums.obj and
	gimpdisplayoptions.obj. They must be in the dll
	* app/makefile.msc : build gimp.exe and gimp-console.exe both
	using the same gimp-core.dll
	* app/gimpcore.def : new file, exports for gimp-core.dll
	* app/Makefile.am : added to EXTRA_DIST

	* cursors/makefile.msc : new file to create gimp-tool-cursors.h
	* cursors/Makefile.am : added to EXTRA_DIST

	* **/makefile.msc : updated

	* app/main.c app/app_procs.c : moved code to close the console
	from the former to the later. It only is to be used if The Gimp
	is not build as console app.

	* plug-ins/gfig/gfig.c : dont gimp_drawable_detach() the same
	drawable twice
	* plug-ins/gfig-dialog.c() : added a g_return_if_fail() to avoid
	crashing on File/Import
2004-08-01 20:51:12 +00:00
Michael Natterer cc6288a4fb Enabled the various "Clear saved foobar now" buttons in prefs:
2004-07-21  Michael Natterer  <mitch@gimp.org>

	Enabled the various "Clear saved foobar now" buttons in prefs:

	* app/gui/session.[ch]
	* app/menus/menus.[ch]
	* app/widgets/gimpdevices.[ch]: implemented the _clear()
	functions: unlink() the rc file and set an internal flag that it
	has been deleted. Added "gboolean always_save" parameter to the
	_save() functions and don't save anything if it is FALSE and the
	internal deletion flag has been set.

	* app/gui/gui.c
	* app/widgets/gimpdevicestatus.c: changed accordingly.

	* app/gui/preferences-dialog.c: added callbacks for all "Save now"
	and "Clear now" buttons and show error messages if clearing fails.
	Inform the user that she has to restart GIMP to see the effect of
	the clearing.
2004-07-21 16:11:31 +00:00
Sven Neumann 996b45696e app/actions/Makefile.am app/actions/file-dialog-actions.[ch]
2004-07-17  Sven Neumann  <sven@gimp.org>

	* app/actions/Makefile.am
	* app/actions/file-dialog-actions.[ch]
	* app/actions/file-open-actions.[ch]
	* app/actions/file-save-actions.[ch]: these aren't needed any
	longer.

	* app/actions/actions.c: changed accordingly.

	* app/menus/Makefile.am
	* app/menus/file-dialog-menu.[ch]
	* app/menus/file-open-menu.[ch]
	* app/menus/file-save-menu.[ch]: these aren't needed any longer.

	* app/menus/menus.c: changed accordingly.

	* menus/Makefile.am
	* menus/file-open-menu.xml
	* menus/file-save-menu.xml: these are also not needed any longer.
2004-07-17 12:19:58 +00:00
Hans Breuer b56eb39ead updated app/actions/makefile.msc app/menus/makefile.msc : (new files)
2004-07-11  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc : updated
	  app/actions/makefile.msc app/menus/makefile.msc : (new files)
	  app/actions/Makefile.msc app/menus/Makefile.am : added to EXTRA_DIST

	* libgimpbase/gimputils.c libgimpwidgets/gimpmemsizeentry.c
	  app/widgets/gimppropwidgets.c : bumped compiler version check,
	msvc6 still can't cast from unsigned __int64 to double

	* app/actions/debug-actions.c : only use debug_*_callback
	and thus debug_action if ENABLE_DEBUG_MENU

	* app/core/gimpalette-import.c : added gimpwin32-io.h

	* plug-ins/common/convmatrix.c : s/snprintf/g_snprintf/

	* plug-ins/common/screenshot.c : make it compile with msvc,
	but still no win32 specific implementation ...
2004-07-11 21:53:17 +00:00
Sven Neumann 6423529b86 app/gui/Makefile.am new files implementing a clipboard for image data
2004-07-02  Sven Neumann  <sven@gimp.org>

	* app/gui/Makefile.am
	* app/gui/clipboard.[ch]: new files implementing a clipboard for
	image data based on GDK_SELECTION_CLIPBOARD (bug #133247).

	* app/actions/edit-actions.c
	* app/actions/edit-commands.c: use the new clipboard API.

	* app/gui/gui.c: initialize and shutdown the clipboard.

	* app/core/gimpbuffer.c: cosmetics.

	* app/actions/actions.c
	* app/menus/menus.c: added sanity checks to exit functions.

	* app/display/gimpdisplayshell-dnd.[ch]: let
	gimp_display_shell_drop_svg() take a guchar * buffer.

	* app/widgets/gimpselectiondata.c (gimp_selection_data_get_pixbuf):
	fixed the implementation.
2004-07-02 14:08:15 +00:00
Michael Natterer d88f23ddba removed enum GimpContextSelectType.
2004-06-23  Michael Natterer  <mitch@gimp.org>

	* app/actions/context-commands.h: removed enum GimpContextSelectType.

	* app/actions/actions-types.h: added enum GimpActionSelectType.

	* app/actions/actions.[ch]: added utility functions
	action_select_value() and action_select_object().

	* app/actions/context-actions.c
	* app/actions/context-commands.c: changed accordingly.

	* app/actions/layers-actions.c
	* app/actions/layers-commands.[ch]: merged the layer select
	callbacks into one using the GimpActionSelectType functions. Added
	actions and callbacks for modifying the active layer's opacity.

	* app/menus/menus-types.h: #incude "actions/action-types.h".

	* app/gui/gui-types.h: #incude "menus/menus-types.h".

	* app/gui/preferences-dialog.c: allow to enable/disable input
	controllers.
2004-06-23 00:23:25 +00:00
Michael Natterer 8ab1ae98a3 app/actions/Makefile.am app/actions/context-actions.[ch] added new action
2004-06-15  Michael Natterer  <mitch@gimp.org>

	* app/actions/Makefile.am
	* app/actions/context-actions.[ch]
	* app/actions/context-commands.[ch]: added new action group to
	modify all GimpContext properties. So far there are actions to
	cycle through the lists of brushes, patterns etc., to change the
	opacity, to swap and default colors and to edit generated brushes.

	* app/actions/actions.c: register the new "context" action group.

	* app/actions/tools-actions.c
	* app/actions/tools-commands.[ch]: removed "tools-default-colors"
	and "tools-swap-colors" actions and callbacks because they are
	in the "context" action group now.

	* app/menus/menus.c: add the "context" group to the <Image> and
	<Dock> UI managers.

	* menus/image-menu.xml.in: changed accordingly. Added a temporary
	"Context" menu to test and debug the new actions.
2004-06-15 15:42:50 +00:00
Sven Neumann e5a0ae9b1b sort the menus by the translated menu path stripped from underscores.
2004-06-07  Sven Neumann  <sven@gimp.org>

	* app/menus/plug-in-menus.c (plug_in_menus_setup): sort the menus
	by the translated menu path stripped from underscores.
2004-06-07 10:45:05 +00:00
Sven Neumann d714307f9a populate the tree with collation keys and use strcmp() instead of
2004-06-04  Sven Neumann  <sven@gimp.org>

	* app/menus/plug-in-menus.c (plug_in_menus_setup): populate the
	tree with collation keys and use strcmp() instead of
	g_utf8_collate() as the tree's sort function.
2004-06-04 11:47:15 +00:00
Sven Neumann d29a222fe6 app/actions/Makefile.am (EXTRA_DIST) removed makefile.msc until they have
2004-06-02  Sven Neumann  <sven@gimp.org>

	* app/actions/Makefile.am (EXTRA_DIST)
	* app/menus/Makefile.am (EXTRA_DIST): removed makefile.msc until
	they have been added.
2004-06-02 14:00:39 +00:00
Michael Natterer 3fb934b2a4 Allow plug-ins to register menu icons. Fixes bug #120500.
2004-05-18  Michael Natterer  <mitch@gimp.org>

	Allow plug-ins to register menu icons. Fixes bug #120500.

	* app/core/core-enums.[ch]: added enum GimpIconType which can
	be one of { STOCK_ID, IMAGE_FILE, INLINE_PIXBUF }.

	* app/config/gimpconfigwriter.[ch] (gimp_config_writer_data)
	* app/config/gimpscanner.[ch] (gimp_scanner_parse_data): new
	functions which write/parse raw binary data. Needed for storing
	inline pixbufs in pluginrc.

	* app/config/gimpconfigwriter.[ch] (gimp_config_writer_identifier):
	new function which writes out an unquoted and unescaped string.

	* app/plug-in/plug-in-proc.[ch] (struct PlugInProcDef): added
	new members "icon_type", "icon_data_length" and "icon_data".
	Reordered members so file_proc specific stuff is at the end.

	(plug_in_proc_def_get_stock_id)
	(plug_in_proc_def_get_pixbuf): new functions to access the
	procedure's icon.

	* app/plug-in/plug-in-rc.c: save/restore the registered icons.

	* app/actions/file-dialog-actions.c
	* app/actions/plug-in-actions.c: set the action's stock ID from
	the procedure's stock ID.

	* app/widgets/gimppluginaction.c
	(gimp_plug_in_action_connect_proxy): if the procedure provides a
	pixbuf, set it as icon for the menu item.

	* app/menus/file-dialog-menu.[ch]
	* app/menus/file-open-menu.c
	* app/menus/file-save-menu.c
	* app/xcf/xcf.c: changed accordingly.

	* tools/pdbgen/pdb/plug_in.pdb (plugin_icon_register): new PDB
	function which can be called during query().

	* tools/pdbgen/enums.pl
	* app/pdb/internal_procs.c
	* app/pdb/plug_in_cmds.c
	* libgimp/gimpenums.h
	* libgimp/gimpplugin_pdb.c
	* libgimp/gimpplugin_pdb.h
	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c: regenerated.

	* plug-ins/common/plugindetails.c
	* plug-ins/common/uniteditor.c
	* plug-ins/print/print.c: register stock_id icons.

	* plug-ins/common/screenshot.c: register an inline_pixbuf icon for
	testing purposes (used emblem-camera.png from gnome-icon-theme).

	* app/actions/dialogs-actions.c
	* app/actions/file-actions.c: unrelated: added some more icons
	to menu items.
2004-05-18 21:19:43 +00:00
Michael Natterer cf3533ba9c put the image popup menu into a dummy menubar to work around the silly
2004-05-17  Michael Natterer  <mitch@gimp.org>

	* menus/menus.xsl: put the image popup menu into a dummy menubar
	to work around the silly GtkUIManager restriction that popup menus
	can't have tearoff items.

	* app/menus/menus.c
	* app/menus/image-menu.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/gui/gui-vtable.c
	* app/menus/plug-in-menus.c: changed accordingly.

	* app/gui/gui.c (gui_restore_after_callback): connect to
	"notify::tearoff-menus" of GimpGuiConfig and reconfigure the
	global image UI manager accordingly.

	* app/config/gimpguiconfig.c: removed GIMP_PARAM_RESTART from the
	"tearoff-menus" property because GtkUIManager can change this on
	the fly.

	* app/display/gimpdisplayshell.[ch]: added the menubar to the
	GimpDisplayShell struct. Some cleanup in gimp_display_shell_new().

	* app/display/gimpdisplayshell-appearance.c
	(gimp_display_shell_set_show_menubar): use shell->menubar instead
	of asking the UI manager.

	* app/widgets/gimpuimanager.[ch]: changed gimp_ui_manager_ui_get()
	to transparently load the XML files even if a sub-widget was
	requested. Reordered parameters of gimp_ui_manager_ui_popup().
	Lots of internal cleanups.

	* app/widgets/gimpdockable.c
	* app/widgets/gimptooloptionseditor.c: simplified accordingly.

	* app/widgets/gimpeditor.[ch]: added new function
	gimp_editor_popup_menu() which takes a GimpMenuPositionFunc and
	updates/shows the editor's menu.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c: use gimp_editor_popup_menu().

	* app/widgets/gimptoolbox.c: moved all code from
	gimp_toolbox_new() to GObject::constructor().
2004-05-17 13:38:03 +00:00