GNOME Bugzilla – Bug 120500
Allow plug-ins to register menu icons
Last modified: 2004-12-22 21:47:04 UTC
Hi. My name is Bartosz KOsiorek. Could you create colour icons in main menu ( when you click right mouse button on editing picture). I hate look for ( for example) my favourite plugin . When near the name will be an colour icon , it will be easy to find. Why GIMP is so difficult for begginer.
GIMP 1.3.x (the current development releases) already uses coloured icons. The nature of the plug-ins however, does not provide an easy way to set icons for the filters menu. Maybe the API could be changed to allow filters/plug-ins to register an icon to use? I doubt we will change GIMP 1.2.x to use coloured icons as well...
As I mentioned last year in bug #68612, a patch that adds icons next to the plug-ins was submitted some time ago to the gimp-developer mailing list. I don't think that it has been integrated in CVS. Probably because it was not the right way to add these icons, but I just don't remember.
Changed the subject to focus on the possibility for plug-ins to register menu icons. Colored or not is not the point here.
Fixed in CVS: 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).