1. 18 Mar, 2008 2 commits
    • Michael Natterer's avatar
      add new options object for the "no image" display appearance. · bd636468
      Michael Natterer authored
      2008-03-18  Michael Natterer  <mitch@gimp.org>
      	* app/display/gimpdisplayoptions.[ch]: add new options object
      	for the "no image" display appearance.
      	* app/display/gimpdisplayshell.[ch]: keep one of them around.
      	* app/display/gimpdisplayshell-appearance.[ch]: use the options
      	object when the display is empty. Add guards against no image
      	to some functions. Add gimp_display_shell_appearance_update()
      	which sets all options according to the current display state
      	(normal, fullscreen, no image).
      	* app/actions/view-actions.c: don't allow to configure the GUI
      	of the empty display.
      	* app/display/gimpdisplayshell-callbacks.c: use the new appearance
      	update function instead of doing it all here.
      	* app/display/gimpdisplayshell-close.c
      	* app/gui/gui-vtable.c: update the appearance when clearing or
      	filling the display.
      	* app/display/gimpdisplayshell-selection.c: forgot some guards
      	against empty displays.
      svn path=/trunk/; revision=25114
    • Michael Natterer's avatar
      First draft of the "no image open" window, which is implemented as a · cee3baea
      Michael Natterer authored
      2008-03-18  Michael Natterer  <mitch@gimp.org>
      	First draft of the "no image open" window, which is implemented as
      	a display without image (a view with NULL model). Didn't change
      	the display's appearance yet so I can first make sure the display
      	without image works properly in all details before hiding these
      	* app/core/gimp-gui.[ch]: add "gimp" parameter to display_create()
      	and allow "image" to be NULL.
      	* app/core/gimpcontext.c (gimp_context_real_set_display): a
      	display's image can be NULL now.
      	* app/display/gimpdisplay.[ch]: add Gimp and GimpDisplayConfig
      	members.  Add Gimp parameter to gimp_display_shell_new(). Changed
      	gimp_display_reconnect() to gimp_display_set_image() and allow to
      	set a NULL image.
      	* app/gui/gui-vtable.c (gui_display_create): if there is a single
      	display without an image, call gimp_display_set_image() on that
      	display instead of creating a new one.
      	* app/display/gimpdisplayshell-close.c: if the last display is
      	closed, don't close it but make it empty. Factored out that code
      	to gimp_display_shell_really_close().
      	* app/display/gimpdisplayshell-dnd.c: when dropping uris on an
      	empty display, open the first one into that display and the other
      	ones as layers of the newly opened image. This is consistent with
      	dropping on an existing image but maybe needs some discussion.
      	* app/display/gimpdisplayshell-callbacks.c: bail out early in the
      	tool event callback so tools never have to deal with empty
      	displays. In expose(), draw the drop zone on the empty display.
      	* app/display/gimpdisplayshell-title.c: set the empty display's
      	title to "Gimp - Drop Files".
      	* app/display/gimpdisplay-foreach.c
      	* app/display/gimpdisplay-handlers.c
      	* app/display/gimpdisplayshell-appearance.c
      	* app/display/gimpdisplayshell-autoscroll.c
      	* app/display/gimpdisplayshell-callbacks.c
      	* app/display/gimpdisplayshell-cursor.c
      	* app/display/gimpdisplayshell-dnd.c
      	* app/display/gimpdisplayshell-draw.c
      	* app/display/gimpdisplayshell-filter-dialog.c
      	* app/display/gimpdisplayshell-handlers.c
      	* app/display/gimpdisplayshell-layer-select.c
      	* app/display/gimpdisplayshell-preview.c
      	* app/display/gimpdisplayshell-render.c
      	* app/display/gimpdisplayshell-scale.c
      	* app/display/gimpdisplayshell-scroll.c
      	* app/display/gimpdisplayshell-selection.c
      	* app/display/gimpdisplayshell-title.c
      	* app/display/gimpdisplayshell.c
      	* app/display/gimpnavigationeditor.c
      	* app/display/gimpstatusbar.c: use display->gimp and
      	display->config instead of going via the image. Guard against
      	empty displays in some few places (most places can't be
      	called). Where needed, use the canvas' dimensions instead of the
      	image's dimensions so scroll offsets and scrollbars still have
      	sane values instead of the last image's ones.
      	* app/actions/actions.c (action_data_get_gimp)
      	(action_data_get_context): use display->gimp instead of
      	* app/actions/edit-commands.c (edit_paste_cmd_callback): redirect
      	to "paste as new" if there is an empty display.
      	* app/actions/tools-commands.c (tools_select_cmd_callback): don't
      	initialize the new tool on an empty display.
      	* app/actions/view-actions.c (view_actions_update): changed lots
      	of sensitivity settings to be insensitive when there is no image
      	(instead of no display).
      	* app/actions/view-commands.c: use the display's config object
      	instead of gimp's.
      svn path=/trunk/; revision=25113
  2. 27 Feb, 2008 1 commit
  3. 20 Sep, 2007 1 commit
  4. 14 Sep, 2007 1 commit
  5. 13 Sep, 2007 2 commits
    • Sven Neumann's avatar
      app/gui/Makefile.am use GIMP_COMMAND instead of hardcoding "gimp" as the · 95f01438
      Sven Neumann authored
      2007-09-13  Sven Neumann  <sven@gimp.org>
      	* app/gui/Makefile.am
      	* app/gui/gui-vtable.c (gui_recent_list_add_uri): use GIMP_COMMAND
      	instead of hardcoding "gimp" as the command line used to launch
      	this resource. Use the translated full application name.
      svn path=/trunk/; revision=23530
    • Nils Philippsen's avatar
      drop own recently used files code in favour of GtkRecentManager: · 8ff9c4c8
      Nils Philippsen authored
      * app/core/gimp-gui.c (gimp_recent_list_add_uri), app/core/gimp-gui.h,
      app/gui/gui-vtable.c (gui_recent_list_add_uri): add
      {gimp,gui}_recent_list_add_uri(), gui_recent_list_add_uri() dispatches to
      * app/dialogs/file-save-dialog.c (file_save_dialog_save_image),
      app/actions/file-commands.c (file_save_cmd_callback),
      app/widgets/gimpdnd-xds.c (gimp_dnd_xds_save_image): pass Gimp instance to
      file_save() calls
      * app/file/file-open.c (file_open_with_proc_and_display,
      file_open_layers), app/file/file-save.c (file_save), app/file/file-save.h:
      pass Gimp instance to gimp_recent_list_add_uri() calls
      * app/file/gimprecentitem.c, app/file/gimprecentitem.h,
      app/file/gimprecentlist.c, app/file/gimprecentlist.h: removed
      * app/file/Makefile.am: drop reference to removed files
      svn path=/trunk/; revision=23526
  6. 13 Aug, 2007 1 commit
    • Sven Neumann's avatar
      added missing cast. · b4a53388
      Sven Neumann authored
      2007-08-13  Sven Neumann  <sven@gimp.org>
      	* app/gui/gui-vtable.c (gui_pdb_dialog_new): added missing cast.
      svn path=/trunk/; revision=23230
  7. 07 Aug, 2007 1 commit
  8. 09 Dec, 2006 1 commit
  9. 30 Oct, 2006 1 commit
    • Michael Natterer's avatar
      app/actions/brush-editor-actions.c app/base/tile-manager-crop.c · c18faa20
      Michael Natterer authored
      2006-10-30  Michael Natterer  <mitch@gimp.org>
      	* app/actions/brush-editor-actions.c
      	* app/base/tile-manager-crop.c
      	* app/config/gimpconfig-file.c
      	* app/core/gimp-gradients.c
      	* app/core/gimpdrawable-histogram.c
      	* app/core/gimpimage-colorhash.c
      	* app/core/gimpimage-undo-push.c
      	* app/dialogs/convert-dialog.c
      	* app/dialogs/preferences-dialog.c
      	* app/display/gimpdisplayshell-callbacks.c
      	* app/gui/gui-vtable.c
      	* app/paint/gimpheal.c
      	* app/paint/gimppaintcore-undo.c
      	* app/plug-in/plug-in-enums.h
      	* app/vectors/gimpstroke-new.c
      	* app/vectors/gimpvectors-warp.c
      	* app/widgets/gimpviewablebox.c
      	* app/widgets/gimpviewrenderer-frame.c
      	* app/widgets/gimpviewrenderer-utils.c
      	* app/xcf/xcf-save.c
      	* libgimpwidgets/gimpcontroller.c: all .c files should include
      	their headers and all private functions should be static.
      	(-Wmissing-declarations -Wmissing-prototypes rocks!)
  10. 22 Sep, 2006 1 commit
    • Sven Neumann's avatar
      app/gui/gui-message.c moved utility function to gimpwidgets-utils. · a69c1ff1
      Sven Neumann authored
      2006-09-22  Sven Neumann  <sven@gimp.org>
      	* app/gui/gui-message.c
      	* app/widgets/gimpwidgets-utils.[ch]: moved utility function to
      	* app/core/gimp-gui.[ch]
      	* app/gui/gui-vtable.c: added a progress parameter to
      	gimp_pdb_dialog_new() and make the dialog transient to the progress
      	* tools/pdbgen/pdb/brush_select.pdb
      	* tools/pdbgen/pdb/font_select.pdb
      	* tools/pdbgen/pdb/gradient_select.pdb
      	* tools/pdbgen/pdb/palette_select.pdb
      	* tools/pdbgen/pdb/pattern_select.pdb: pass progress to
      	* app/pdb/brush_select_cmds.c
      	* app/pdb/font_select_cmds.c
      	* app/pdb/gradient_select_cmds.c
      	* app/pdb/palette_select_cmds.c
      	* app/pdb/pattern_select_cmds.c: regenerated.
      	* libgimp/gimpselectbutton.c: cosmetics.
  11. 10 Sep, 2006 1 commit
  12. 09 Sep, 2006 1 commit
    • Sven Neumann's avatar
      app/app_procs.[ch] initialize the error subsystem after the gimp object · 188bbe5d
      Sven Neumann authored
      2006-09-09  Sven Neumann  <sven@gimp.org>
      	* app/app_procs.[ch]
      	* app/main.c: initialize the error subsystem after the gimp
      	has been created.
      	* app/errors.[ch]: store a reference to the gimp object (eek)
      	use it to call gimp_gui_ungrab() before g_on_error_query().
      	* app/core/gimp-gui.[ch]
      	* app/gui/gui-vtable.c: added gimp_gui_ungrab().
  13. 08 Aug, 2006 1 commit
  14. 19 Jul, 2006 1 commit
    • Sven Neumann's avatar
      Make message dialogs transient for the progress window. Addresses bug · 6d922b21
      Sven Neumann authored
      2006-07-19  Sven Neumann  <sven@gimp.org>
      	Make message dialogs transient for the progress window.
      	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.
      	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
      	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.
  15. 26 Jun, 2006 1 commit
    • Sven Neumann's avatar
      hide the button-bar. · 8877cae9
      Sven Neumann authored
      2006-06-26  Sven Neumann  <sven@gimp.org>
      	* app/gui/gui-vtable.c (gui_pdb_dialog_new): hide the button-bar.
  16. 09 May, 2006 1 commit
  17. 04 May, 2006 1 commit
    • Michael Natterer's avatar
      added signals "plug-in-opened" and "plug-in-closed". Added functions · 808b65cd
      Michael Natterer authored
      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.
  18. 28 Apr, 2006 1 commit
    • Michael Natterer's avatar
      app/plug-in/Makefile.am app/plug-in/plug-in-types.h new object which keeps · f1c3e79a
      Michael Natterer authored
      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.
  19. 27 Apr, 2006 2 commits
    • Michael Natterer's avatar
      new function which returns string arrays of all registered locale domains · 305ada63
      Michael Natterer authored
      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
      	* 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.
    • Michael Natterer's avatar
      Added some signals inspired by Rockwalrus' libpdb: · ee66f2f3
      Michael Natterer authored
      2006-04-27  Michael Natterer  <mitch@gimp.org>
      	Added some signals inspired by Rockwalrus' libpdb:
      	* app/pdb/gimppdb.[ch]: added signals "register-procedure" and
      	* 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
  20. 26 Apr, 2006 1 commit
    • Michael Natterer's avatar
      app/pdb/Makefile.am app/pdb/pdb-types.h new object GimpPDB which keeps all · f65bd53e
      Michael Natterer authored
      2006-04-26  Michael Natterer  <mitch@gimp.org>
      	* app/pdb/Makefile.am
      	* app/pdb/pdb-types.h
      	* app/pdb/gimppdb.[ch]: new object GimpPDB which keeps all
      	procedures and functions to register and run them. Renamed all
      	functions and did some cleanups.
      	* app/pdb/gimp-pdb.[ch]
      	* app/core/gimp.[ch]: removed the same stuff here.
      	* app/pdb/gimp-pdb-query.[ch]: removed these files...
      	* app/pdb/gimppdb-query.[ch]: ...added here as members of GimpPDB.
      	* app/pdb/gimp-pdb-compat.h: fix include guard.
      	* app/batch.c
      	* app/actions/vectors-commands.c
      	* app/dialogs/about-dialog.c
      	* app/file/file-open.c
      	* app/file/file-save.c
      	* app/plug-in/plug-in-message.c
      	* app/plug-in/plug-ins.c
      	* app/widgets/gimpfiledialog.c
      	* app/widgets/gimphelp.c
      	* app/xcf/xcf.c
      	* tools/pdbgen/pdb/brush_select.pdb
      	* tools/pdbgen/pdb/fileops.pdb
      	* tools/pdbgen/pdb/font_select.pdb
      	* tools/pdbgen/pdb/gradient_select.pdb
      	* tools/pdbgen/pdb/palette_select.pdb
      	* tools/pdbgen/pdb/pattern_select.pdb
      	* tools/pdbgen/pdb/procedural_db.pdb: changed includes and function
      	calls accordingly.
      	* tools/pdbgen/app.pl: pass around GimpPDB instead of Gimp
      	pointers to register the internal procedures with. Changed some
      	newlines in the generated code.
      	* app/pdb/*_cmds.c
      	* app/pdb/internal_procs.[ch]: regenerated.
      	* app/core/gimppdbprogress.[ch]
      	* app/widgets/gimppdbdialog.[ch]: added "pdb" CONSTRUCT_ONLY
      	* app/plug-in/plug-in-progress.c
      	* app/gui/gui-vtable.c: pass gimp->pdb when creating them.
      	* app/widgets/gimpbrushselect.c
      	* app/widgets/gimpfontselect.c
      	* app/widgets/gimpgradientselect.c
      	* app/widgets/gimppaletteselect.c
      	* app/widgets/gimppatternselect.c: use the new local pdb pointers
      	instead of some foo->bar->gimp->pdb overkill.
  21. 06 Apr, 2006 1 commit
    • Michael Natterer's avatar
      app/plug-in/Makefile.am app/plug-in/plug-in-types.h removed... · 7e258dfa
      Michael Natterer authored
      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
      	* app/pdb/gimptemporaryprocedure.[ch]: new class derived from
      	* 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.
  22. 05 Apr, 2006 1 commit
    • Michael Natterer's avatar
      app/plug-in/plug-in-types.h renamed to GimpPlugInProcedure and made a · 086d0b63
      Michael Natterer authored
      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.
  23. 28 Mar, 2006 2 commits
  24. 23 Mar, 2006 1 commit
    • Michael Natterer's avatar
      app/core/gimp-gui.[ch] app/gui/gui-vtable.c pass displays around as · acdae9b3
      Michael Natterer authored
      2006-03-23  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimp-gui.[ch]
      	* app/gui/gui-vtable.c
      	* app/plug-in/plug-in-progress.[ch]: pass displays around as
      	GimpObject, not as integer IDs.
      	* tools/pdbgen/pdb/progress.pdb: changed accordingly.
      	* app/pdb/progress_cmds.c
      	* libgimp/gimpprogress_pdb.c: regenerated.
  25. 24 Nov, 2005 2 commits
  26. 26 Sep, 2005 1 commit
    • Michael Natterer's avatar
      Allow plug-ins to register menu entries in the <Brushes>, <Gradients>, · 48cdc653
      Michael Natterer authored
      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 (sc...
  27. 09 Sep, 2005 1 commit
    • Michael Natterer's avatar
      Added parent window API to the GimpProgress interface and to the libgimp · b10adabb
      Michael Natterer authored
      2005-09-09  Michael Natterer  <mitch@gimp.org>
      	Added parent window API to the GimpProgress interface and to
      	the libgimp progress stuff. Might look strange, but does
      	the right thing in almost all cases (image window, file dialog,
      	script-fu dialog etc). Fixes bug #62988.
      	* app/core/gimpprogress.[ch]: added GimpProgress::get_window()
      	which should return a toplevel window ID if the progress is in a
      	window that wants to be the transient parent of plug-in dialogs.
      	* app/widgets/gimpwidgets-utils.[ch] (gimp_window_get_native): new
      	function which returns the window handle of a GtkWindow's GdkWindow.
      	* app/widgets/gimpfiledialog.c: implement ::get_window().
      	* app/display/gimpdisplay.[ch]: ditto. Removed window handle API.
      	* app/gui/gui-vtable.c: changed accordingly.
      	* libgimpbase/gimpbaseenums.[ch] (enum GimpProgressCommand):
      	* app/plug-in/plug-in-progress.[ch] (plug_in_progress_get_window):
      	new function. Also renamed some functions to match the
      	GimpProgress interface, and not the legacy PDB procedure names.
      	* tools/pdbgen/pdb/progress.pdb
      	* app/core/gimppdbprogress.c: implement get_window() on both
      	sides of the wire, keeping backward compatibility (hopefully).
      	* libgimp/gimpprogress.[ch]: deprecated gimp_progress_install()
      	and added gimp_progress_install_vtable() which takes a vtable with
      	padding to be extensible. Added get_window() vtable entry and
      	dispatch it accordingly. Also added pulse() which was implemented
      	in a hackish way before. Everything is of course backward
      	* libgimp/gimpprogressbar.c: inmplement the get_window() stuff
      	so a plug-in dialog containing a progress can be the transient
      	parent of another dialog in another plug-in.
      	* libgimp/gimpui.[ch] (gimp_ui_get_progress_window): new function
      	which returns a foreign GdkWindow of this plug-ins progress
      	Renamed gimp_window_set_transient_for_default_display() to
      	gimp_window_set_transient() and make it use the progress' window
      	handle instead of the display's (which is the right thing to do in
      	almost all cases).
      	* libgimp/gimp.def
      	* libgimp/gimpui.def: add the new functions.
      	* tools/pdbgen/enums.pl
      	* app/pdb/internal_procs.c
      	* app/pdb/progress_cmds.c
      	* libgimp/gimpprogress_pdb.[ch]: regenerated.
      	* libgimp/gimpexport.c
      	* plug-ins/*/*.c: follow API change.
  28. 05 Sep, 2005 1 commit
    • Sven Neumann's avatar
      Address bug #307971: · ec56ef9d
      Sven Neumann authored
      2005-09-05  Sven Neumann  <sven@gimp.org>
      	Address bug #307971:
      	* app/core/gimp-gui.[ch]
      	* app/display/gimpdisplay.[ch]
      	* app/gui/gui-vtable.c
      	* tools/pdbgen/pdb/display.pdb: added PDB function to obtain a
      	window handle on an image display.
      	* app/pdb/display_cmds.c
      	* app/pdb/internal_procs.c
      	* libgimp/gimpdisplay_pdb.[ch]: regenerated.
      	* libgimp/gimpui.[ch]: added functions to set a GtkWindow transient
      	to an image display.
      	* plug-ins/common/gauss.c: use the new function exemplarily.
      	* libgimp/gimp.def
      	* libgimp/gimpui.def: updated.
  29. 12 Apr, 2005 1 commit
    • Sven Neumann's avatar
      handle a NULL palette with GIMP_CUSTOM_PALETTE type, use the builtin mono · 0e678c4c
      Sven Neumann authored
      2005-04-13  Sven Neumann  <sven@gimp.org>
      	* app/core/gimpimage-convert.c (gimp_image_convert): handle a NULL
      	palette with GIMP_CUSTOM_PALETTE type, use the builtin mono
      	palette as fallback.
      	* app/dialogs/convert-dialog.c: handle empty palette container.
      	* app/gui/gui-vtable.c (gui_pdb_dialog_new): removed unused code.
      	* tools/pdbgen/pdb/convert.pdb: don't load the palettes implicitely.
      	* app/pdb/convert_cmds.c: regenerated.
  30. 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
      	* 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
      	* 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.
  31. 31 Jan, 2005 1 commit
    • Michael Natterer's avatar
      Some cleanup to make plug-in menu creation less hackish and finally enable · f3e0792d
      Michael Natterer authored
      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.
  32. 18 Nov, 2004 1 commit
    • Michael Natterer's avatar
      The following fixes have no visible effect because nobody uses · b8344d51
      Michael Natterer authored
      2004-11-18  Michael Natterer  <mitch@gimp.org>
      	The following fixes have no visible effect because nobody
      	uses gimp_plugin_menu_register() on temp_procs yet:
      	* app/actions/plug-in-actions.[ch]: added
      	plug_in_actions_add_path() which just adds the actions needed for
      	a given menu math, but not the procedure action itself.
      	* app/gui/gui-vtable.c (gui_menus_create_entry): create the
      	menu_path's actions using above function so adding of submenus to
      	existing ui managers works.
      	* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_register_invoker):
      	don't add a menu if "no_interface" is TRUE.
      	* app/pdb/plug_in_cmds.c: regenerated.
      	* plug-ins/script-fu/script-fu-scripts.c: pass untranslated
      	menu_paths to the core, not translated ones. Don't store the
      	scripts directly in the "script_list" tree but use a list of
      	scripts per key because there can be identical keys for different
      	scripts now. Fixed sorting of menu entries and menus.
  33. 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
      	* 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.
  34. 08 Oct, 2004 1 commit
    • Michael Natterer's avatar
      app/display/gimpdisplayshell.c (gimp_display_shell_real_scaled) · fb315d6c
      Michael Natterer authored
      2004-10-08  Michael Natterer  <mitch@gimp.org>
      	* app/display/gimpdisplayshell.c (gimp_display_shell_real_scaled)
      	* app/gui/gui-vtable.c (gui_display_create): always pass a
      	GimpDisplay, not a GimpDisplayShell as "data" to
      	* app/actions/actions.c (action_data_get_*): removed checks if the
      	passed data is a GimpDisplayShell and temporarily added g_assert()
      	to be sure. The assertions will be removed before 2.2.
  35. 27 Sep, 2004 1 commit
    • Michael Natterer's avatar
      app/actions/brushes-actions.c app/actions/gradients-actions.c · 96a27b59
      Michael Natterer authored
      2004-09-27  Michael Natterer  <mitch@gimp.org>
      	* app/actions/brushes-actions.c
      	* app/actions/gradients-actions.c
      	* app/actions/palettes-actions.c
      	* app/actions/patterns-actions.c: made the "foo-edit" actions
      	GimpStringActions and pass the identifier of the editor dialog
      	to the callback.
      	* app/actions/data-commands.[ch] (data_edit_data_cmd_callback):
      	show the editor dialog here instead of calling view->edit_func().
      	* app/dialogs/dialogs-constructors.[ch]: removed the brush,
      	gradient and palette edit_funcs.
      	* app/widgets/widgets-types.h: removed typedef GimpDataEditFunc.
      	* app/widgets/gimpdatafactoryview.[ch]: removed the edit_func
      	member and parameters and create the edit button unconditionally.
      	* app/widgets/gimpbrushfactoryview.[ch]
      	* app/widgets/gimppatternfactoryview.[ch]: changed accordingly.
      	* app/widgets/Makefile.am
      	* app/widgets/gimpdataselect.[ch]: removed this class, it's not
      	needed any longer.
      	* app/widgets/gimpbrushselect.[ch]
      	* app/widgets/gimpgradientselect.[ch]
      	* app/widgets/gimppaletteselect.[ch]
      	* app/widgets/gimppatternselect.[ch]: derive them from GimpPdbDialog
      	and follow the edit_func removal.
      	* app/gui/gui-vtable.c (gui_pdb_dialog_new): removed edit_func
      	* app/widgets/gimpcontainereditor.c: minor unrelated cleanup.