1. 02 May, 2004 1 commit
    • Michael Natterer's avatar
      added help IDs to all actions representing the toplevel popups and menus · 9377b26e
      Michael Natterer authored
      2004-05-02  Michael Natterer  <mitch@gimp.org>
      
      	* app/actions/*-actions.c: added help IDs to all actions
      	representing the toplevel popups and menus (as fallbacks for the
      	still-to-be-written help system intrgration of GimpUIManager).
      
      	* app/display/gimpdisplayshell.c (gimp_display_shell_new): removed
      	call to gtk_ui_manager_ensure_update() because that's done by
      	gimp_ui_manager_ui_get() now.
      
      	* app/widgets/gimpmenufactory.[ch]: removed API to register and
      	create item factories.
      
      	* app/gui/menus.c: changed accordingly.
      
      	* app/gui/dialogs.c
      	* app/actions/plug-in-commands.c
      	* app/gui/file-dialog-utils.c
      	* app/gui/file-save-dialog.c
      	* app/widgets/gimpdataeditor.c
      	* app/widgets/gimpdockable.c
      	* app/widgets/gimpdockbook.[ch]
      	* app/widgets/gimpimagedock.c
      	* app/widgets/gimpitemtreeview.c: removed leftover item factory
      	cruft.
      
      	* app/widgets/widgets-types.h: removed item factory typedefs...
      
      	* app/widgets/gimpitemfactory.h: ...and added them here.
      
      	* app/widgets/gimpactiongroup.[ch]: added new function
      	gimp_action_group_add_plug_in_actions().
      
      	* app/actions/plug-in-actions.c: use it here instead of adding
      	the actions manually.
      
      	* app/widgets/gimptoolbox.c: ported the code which dynamically
      	updates the tool button tooltips on accelerator changes to
      	GtkAction. Disabled the whole stuff because GTK+ lacks
      	gtk_action_get_accel_closure().
      9377b26e
  2. 30 Apr, 2004 1 commit
    • Michael Natterer's avatar
      added signal "update" which is G_SIGNAL_RUN_LAST, so handlers can hook in · 7d7ef188
      Michael Natterer authored
      2004-04-30  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpuimanager.[ch]: added signal "update" which
      	is G_SIGNAL_RUN_LAST, so handlers can hook in before and after
      	the default implementation. Update the action groups
      	in the default implementations.
      
      	(gimp_ui_manager_ui_get): make sure we always return a widget
      	by calling gtk_ui_manager_ensure_update().
      
      	* app/widgets/gimpdockable.c (gimp_dockable_show_menu): make
      	sure the dockable menu is loaded before trying to access its
      	widgets/actions.
      
      	Resurrected the dynamic tool options menus:
      
      	* app/actions/tool-options-actions.c: dynamically destroy/create
      	actions for the tool options' presets.
      
      	* app/actions/tool-options-commands.[ch]: all callbacks are
      	GimpEnumAction::selected() callbacks now.
      
      	* app/gui/tool-options-menu.[ch]: connect and connect_after to
      	GimpUIManager::update(). Remove the old preset menu items
      	in the former callback, create the new ones in the latter.
      	Removed the last item factory entries.
      
      	* app/gui/menus.c
      	* app/widgets/gimptooloptionseditor.c: changed accordingly.
      7d7ef188
  3. 29 Apr, 2004 3 commits
    • Michael Natterer's avatar
      app/actions/Makefile.am app/actions/file-open-actions.[ch] actions for the · 0e1af3ee
      Michael Natterer authored
      2004-04-29  Michael Natterer  <mitch@gimp.org>
      
      	* app/actions/Makefile.am
      	* app/actions/file-open-actions.[ch]
      	* app/actions/file-save-actions.[ch]: actions for the <Load> and
      	<Save> menus...
      
      	* menus/Makefile.am
      	* menus/file-open-menu.xml
      	* menus/file-save-menu.xml: ...and the menus.
      
      	* app/gui/file-open-menu.[ch]
      	* app/gui/file-save-menu.[ch]: ported to UI Manager.
      
      	* app/widgets/gimpfiledialog.[ch]: ditto.
      
      	* app/actions/actions.c
      	* app/gui/menus.c
      	* app/gui/file-open-dialog.c
      	* app/gui/file-save-dialog.c: changed accordingly.
      
      	* app/widgets/gimpuimanager.c: removed debugging code which
      	automatically loaded all registered menus. They are now loaded on
      0e1af3ee
    • Michael Natterer's avatar
      new function which does the opposite of gimp_strip_uline(). · d79ed2a0
      Michael Natterer authored
      2004-04-29  Michael Natterer  <mitch@gimp.org>
      
      	* libgimpbase/gimputils.[ch] (gimp_escape_uline): new function
      	which does the opposite of gimp_strip_uline().
      
      	* app/actions/file-actions.c (file_actions_last_opened_update):
      	escape ulines in filenames so they don't end up as mnemonics.
      	Spotted by Pedro Gimeno.
      d79ed2a0
    • Michael Natterer's avatar
      Switch from GtkItemFactory to GtkUIManager. The migration is almost · 46542801
      Michael Natterer authored
      2004-04-29  Michael Natterer  <mitch@gimp.org>
      
      	Switch from GtkItemFactory to GtkUIManager. The migration is
      	almost complete, still stuff missing/incomplete, definitely added
      	a bunch of new bugs...
      
      	* app/actions/*-commands.[ch]: converted all callback from
      	GtkItemFactory callbacks to GtkAction callbacks.
      
      	* app/actions/debug-actions.c
      	* app/actions/gradient-editor-actions.c
      	* app/actions/help-actions.c
      	* app/actions/plug-in-actions.c
      	* app/actions/qmask-actions.c
      	* app/actions/tool-options-actions.c: various fixes.
      
      	* app/display/gimpdisplay.[ch]
      	* app/display/gimpdisplayshell-appearance.[ch]
      	* app/display/gimpdisplayshell-callbacks.c
      	* app/display/gimpdisplayshell.[ch]: move everything from
      	GtkItemFactory to GtkUIManager.
      
      	* app/gui/dialogs.[ch]: added new function dialogs_get_toolbox().
      	Needed because the action callbacks don't have a widget parameter
      	and sometimes we need a parent window for showing dialogs.
      
      	* app/gui/Makefile.am
      	* app/gui/brushes-menu.[ch]
      	* app/gui/buffers-menu.[ch]
      	* app/gui/channels-menu.[ch]
      	* app/gui/colormap-editor-menu.[ch]
      	* app/gui/dialogs-menu.[ch]
      	* app/gui/documents-menu.[ch]
      	* app/gui/error-console-menu.[ch]
      	* app/gui/fonts-menu.[ch]
      	* app/gui/gradient-editor-menu.[ch]
      	* app/gui/gradients-menu.[ch]
      	* app/gui/images-menu.[ch]
      	* app/gui/layers-menu.[ch]
      	* app/gui/palette-editor-menu.[ch]
      	* app/gui/palettes-menu.[ch]
      	* app/gui/patterns-menu.[ch]
      	* app/gui/qmask-menu.[ch]
      	* app/gui/templates-menu.[ch]
      	* app/gui/vectors-menu.[ch]: removed these files.
      
      	* app/gui/gui.c: create a global UI manager for the image popup
      	menu and the toolbox menubar.
      
      	* app/gui/menus.[ch]: removed all GtkItemFactory code.
      
      	* app/gui/image-menu.[ch]
      	* app/gui/toolbox-menu.[ch]: removed everything except the trivial
      	setup_funcs.
      
      	* app/gui/file-open-menu.c
      	* app/gui/file-save-menu.c
      	* app/gui/tool-options-menu.c: don't use the macros from menus.h
      	any more, they are gone.
      
      	* app/gui/gui-vtable.c
      	* app/gui/plug-in-menus.[ch]: create/destroy the dynamic plug-in
      	menu entries.
      
      	* app/tools/gimpimagemaptool.c: s/gimp_item_factory_update/
      	gimp_ui_manager_update/g
      
      	* app/widgets/gimpuimanager.[ch]: added API to get an action
      	group by name.
      
      	* app/widgets/gimpmenufactory.c: don't choke on the item_factory
      	entries being NULL.
      
      	* app/widgets/gimpactiongroup.c: make sure booleans set using
      	g_object_set() only have TRUE or FALSE values.
      
      	* app/widgets/gimpcolormapeditor.c
      	* app/widgets/gimpcomponenteditor.c
      	* app/widgets/gimpcontainereditor.[ch]
      	* app/widgets/gimpcontainergridview.c
      	* app/widgets/gimpcontainertreeview.c
      	* app/widgets/gimpdockable.[ch]
      	* app/widgets/gimpdocked.[ch]
      	* app/widgets/gimpeditor.[ch]
      	* app/widgets/gimperrorconsole.c
      	* app/widgets/gimpgradienteditor.c
      	* app/widgets/gimpitemtreeview.c
      	* app/widgets/gimppaletteeditor.c
      	* app/widgets/gimptoolbox.c
      	* app/widgets/gimptooloptionseditor.c: removed all GtkItemFactory
      	code and enable the #if 0'ed UI manager stuff.
      
      	* menus/gradient-editor-menu.xml: fixed typos.
      
      	* menus/image-menu.xml: duplicate everything so we have both
      	an image menubar and an image popup menu. Badly cries for an
      	XSL processor.
      
      	* menus/toolbox-menu.xml: added an "Extensions" placeholder.
      46542801
  4. 27 Apr, 2004 2 commits
    • Michael Natterer's avatar
      app/widgets/Makefile.am app/widgets/widgets-types.h new GtkAction subclass · aae726ee
      Michael Natterer authored
      2004-04-27  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimppluginaction.[ch]: new GtkAction subclass which
      	remembers the PlugInProcDef.
      
      	* app/widgets/gimpactiongroup.[ch]: added "gpointer user_data" to
      	the GimpActionGroup struct and to gimp_action_group_new(). Removed
      	the user_data parameter from gimp_action_group_add_*_actions().
      
      	* app/widgets/gimpactionfactory.[ch]: changed accordingly.
      
      	* app/actions/*-actions.[ch]: removed user_data from all setup_funcs.
      
      	* app/actions/plug-in-actions.c: use a GimpPlugInAction and
      	finally use the right user_data for the callback so plug-in
      	callbacks have a proper context.
      
      	* app/gui/plug-in-menus.[ch]: renamed plug_in_menus_create2() to
      	plug_in_menus_setup().
      
      	* app/gui/image-menu.c
      	* app/gui/toolbox-menu.c: changed accordingly.
      aae726ee
    • Michael Natterer's avatar
      Correctly translated & sorted plug-in actions & menu entries: · 4e8105c1
      Michael Natterer authored
      2004-04-27  Michael Natterer  <mitch@gimp.org>
      
      	Correctly translated & sorted plug-in actions & menu entries:
      
      	* app/widgets/gimpuimanager.[ch]: added a "gchar *name" property
      	and a hash table which keeps all created UI managers (similar to
      	GimpActionGroup's hash table). Added function
      	gimp_ui_managers_from_name() which returns a list of all managers
      	with the given name.
      
      	* app/widgets/gimpmenufactory.c: register a name per UI manager
      	and pass the name to gimp_ui_manager_new().
      
      	* app/actions/plug-in-actions.c: added code which correctly
      	translates the created plug-in actions and also creates translated
      	menu actions for the plug-in's menu_path elements.
      
      	* app/gui/plug-in-menus.[ch]: sort the plug-ins' menu entries
      	using a GTree. For each entry, recursivlely create submenus
      	from the dynamic menu actions created above before creating
      	the plug-in's menu entry itself.
      
      	* app/gui/image-menu.c (image_menu_setup2)
      	* app/gui/toolbox-menu.c (toolbox_menu_setup2): call
      	plug_in_menus_create2().
      
      	* app/gui/gui-vtable.c (gui_menus_create_entry)
      	(gui_menus_delete_entry): added some uglyness which maps old <Prefix>
      	menu identifiers to new-style UI manager plus ui_path tuples and
      	call plug_in_menus_add,remove_proc() accordingly.
      
      	* menus/image-menu.xml
      	* menus/toolbox-menu.xml: added name="Foo" attributes to all menus
      	so plug-in entries find their place.
      4e8105c1
  5. 26 Apr, 2004 2 commits
    • Michael Natterer's avatar
      added GimpUIManagerSetupFunc typedef. · bb0f359a
      Michael Natterer authored
      2004-04-26  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/widgets-types.h: added GimpUIManagerSetupFunc typedef.
      
      	* app/widgets/gimpuimanager.[ch]: added the setup_func to the
      	GimpUIManagerUIEntry struct and to gimp_ui_manager_ui_register().
      	Call the setup_func after creating the UI. Replaced the term
      	"identifier" by "ui_path".
      
      	* app/widgets/gimpmenufactory.c: ditto.
      
      	* app/gui/menus.c (menus_init): register the new setup_funcs below.
      
      	* app/gui/menus.[ch] (menus_open_recent_add)
      	* app/gui/image-menu.[ch] (image_menu_setup2)
      	* app/gui/toolbox-menu.[ch] (toolbox_menu_setup2): new setup_funcs
      	which add the "Open Recent" menu items.
      
      	* app/actions/file-actions.c: removed "file-open-recent-empty"
      	action because it's not needed.
      
      	* menus/image-menu.xml
      	* menus/toolbox-menu.xml: removed "file-open-recent-empty" menu
      	items and added <placeholder>s for the "Open Recent" menu items.
      bb0f359a
    • Michael Natterer's avatar
      removed "locale_domain" and "help_domain" parameters from · b69ddb39
      Michael Natterer authored
      2004-04-26  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimp.[ch]: removed "locale_domain" and "help_domain"
      	parameters from GimpMenusCreateFunc.
      
      	* app/plug-in/plug-ins.c (plug_ins_temp_proc_def_add)
      	* app/actions/plug-in-actions.[ch] (plug_in_actions_add_proc_def):
      	changed accordingly.
      
      	* app/widgets/gimpactiongroup.[ch]: remember all created action
      	groups is a hash table in GimpActionGroupClass.  Added
      	gimp_action_groups_from_name() which returns a GList of all groups
      	with the given name.
      
      	* app/actions/plug-in-actions.[ch] (plug_in_actions_setup):
      	removed the tree sorting code. Actions don't need to be ordered
      	alphabetically.
      
      	(plug_in_actions_update): copied & ported plug_in_menus_update().
      
      	* app/gui/gui-vtable.c (gui_menus_create,delete_entry):
      	dynamically add/remove plug-in actions in all "plug-in" action
      	groups.
      b69ddb39
  6. 22 Apr, 2004 1 commit
    • Michael Natterer's avatar
      implemented gimp_action_group_set_action_color() and · 42f79826
      Michael Natterer authored
      2004-04-22  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpactiongroup.[ch]: implemented
      	gimp_action_group_set_action_color() and
      	gimp_action_group_set_action_viewable().
      
      	* app/actions/*-actions.c: added stock IDs to all actions which
      	represent toplevel popup menus. Fixed typos.
      
      	* menus/brushes-menu.xml
      	* menus/colormap-editor-menu.xml
      	* menus/dockable-menu.xml
      	* menus/gradients-menu.xml
      	* menus/patterns-menu.xml
      	* menus/toolbox-menu.xml: fixed typos.
      42f79826
  7. 21 Apr, 2004 2 commits
    • Michael Natterer's avatar
      forgot to register the "patterns" actions. · 2c601c7d
      Michael Natterer authored
      2004-04-21  Michael Natterer  <mitch@gimp.org>
      
      	* app/actions/actions.c: forgot to register the "patterns" actions.
      
      	* app/actions/*-actions.c: added actions representing the toplevel
      	menus (popups and menubars). Fixed some typos.
      
      	* menus/*-menu.xml: added action="foo" attributes to all toplevel
      	menus. Fixed typos here too.
      
      	* menus/gtkuimanager.dtd: fixed possible attributes.
      2c601c7d
    • Michael Natterer's avatar
      app/actions/qmask-actions.c prepared qmask_actions_update() and the qmask · 62dcfaec
      Michael Natterer authored
      2004-04-21  Michael Natterer  <mitch@gimp.org>
      
      	* app/actions/qmask-actions.c
      	* app/actions/qmask-commands.c: prepared qmask_actions_update()
      	and the qmask callbacks to be merged into the image ui manager.
      
      	* app/actions/dialogs-actions.c
      	* app/actions/edit-actions.c
      	* app/actions/file-actions.c
      	* app/actions/image-actions.c
      	* app/actions/layers-actions.c
      	* app/actions/plug-in-actions.c
      	* app/actions/tools-actions.c
      	* app/actions/view-actions.c: fixed lots of typos and buglets
      	spotted in my first test run.
      
      	* app/gui/menus.c: register the needed action groups with the
      	<Image> menu.
      
      	* app/tools/gimp-tools.c
      	* app/tools/gimpdodgeburntool.[ch]
      	* app/tools/gimppaintoptions-gui.c: s/dodgeburn/dodge_burn/g.
      
      	* app/widgets/gimpactionfactory.c
      	* app/widgets/gimpmenufactory.[ch]: s/G_GNUC_FUNCTION/G_STRFUNC/g,
      	updated copyright header.
      
      	* menus/image-menu.xml: fixed typos and added the "Filters"
      	submenus.
      62dcfaec
  8. 20 Apr, 2004 3 commits
    • Michael Natterer's avatar
      More unused action stuff: · 27a2c8c0
      Michael Natterer authored
      2004-04-21  Michael Natterer  <mitch@gimp.org>
      
      	More unused action stuff:
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpactionfactory.[ch]: added a simple factory which
      	produces GimpActionGroups.
      
      	* app/widgets/gimpactiongroup.[ch]: added an "update_func" member
      	to the GimpActionGroup struct. Added it as parameter to
      	gimp_action_group_new(). Added function gimp_action_group_update().
      
      	* app/widgets/gimpmenufactory.[ch]: added an "action_factory"
      	member and constructor parameter. Added code to create
      	GtkUIManagers from registered action group identifiers.
      
      	* app/actions/Makefile.am
      	* app/actions/actions.[ch]: new files: create a
      	"global_action_factory" and register all action groups with it.
      
      	* app/actions/edit-actions.c: s/edit_action_update/edit_actions_update/
      
      	* app/actions/plug-in-actions.[ch]: added API to add/remove
      	plug-in procedure actions dynamically (unfinished).
      
      	* app/gui/menus.c (menus_init): call actions_init().
      	(menus_exit): call actions_exit().
      27a2c8c0
    • Michael Natterer's avatar
      renamed convert_to_indexed() to convert_dialog_new() and return the · c8efb903
      Michael Natterer authored
      2004-04-20  Michael Natterer  <mitch@gimp.org>
      
      	* app/gui/convert-dialog.[ch]: renamed convert_to_indexed()
      	to convert_dialog_new() and return the dialog. Removed
      	convert_to_rgb() and convert_to_grayscale().
      
      	* app/gui/offset-dialog.[ch]: renamed offset_dialog_create()
      	to offset_dialog_new() and return the dialog.
      
      	* app/Makefile.am
      	* app/actions/drawable-commands.c
      	* app/actions/image-commands.c: changed accordingly.
      c8efb903
    • Michael Natterer's avatar
      removed... · 661f6dde
      Michael Natterer authored
      2004-04-20  Michael Natterer  <mitch@gimp.org>
      
      	* app/gui/*-commands.[ch]: removed...
      
      	* app/actions/*-commands.[ch]: ...and added here.
      
      	* app/gui/Makefile.am
      	* app/gui/*-menu.c
      	* app/gui/dialogs-constructors.c
      	* app/gui/gui.c
      	* app/gui/menus.c
      	* app/actions/Makefile.am
      	* app/actions/*-actions.c: changed accordingly.
      
      	* app/actions/plug-in-actions.[ch]
      	* app/actions/tools-actions.[ch]: new files.
      
      	* app/Makefile.am: had to add more -u evilness because gui/
      	and actions/ have cyclic dependencies.
      
      	* menus/image-menu.xml: added some more items.
      661f6dde
  9. 19 Apr, 2004 3 commits
    • Michael Natterer's avatar
      app/gui/colormap-editor-commands.[ch] app/gui/debug-commands.[ch] · a7ffe94b
      Michael Natterer authored
      2004-04-19  Michael Natterer  <mitch@gimp.org>
      
      	* app/gui/colormap-editor-commands.[ch]
      	* app/gui/debug-commands.[ch]
      	* app/gui/dockable-commands.[ch]
      	* app/gui/error-console-commands.[ch]
      	* app/gui/file-commands.[ch]
      	* app/gui/gradient-editor-commands.[ch]
      	* app/gui/help-commands.[ch]
      	* app/gui/qmask-commands.[ch]
      	* app/gui/tool-options-commands.[ch]: removed "guint action"
      	parameter from all callbacks which don't need it.
      a7ffe94b
    • Michael Natterer's avatar
      app/actions/Makefile.am oops, forgot to commit this one. · a4f6eca8
      Michael Natterer authored
      2004-04-19  Michael Natterer  <mitch@gimp.org>
      
      	* app/actions/Makefile.am
      	* app/actions/actions-types.h: oops, forgot to commit this one.
      a4f6eca8
    • Michael Natterer's avatar
      More GtkAction stuff (still unused): · 8848558f
      Michael Natterer authored
      2004-04-19  Michael Natterer  <mitch@gimp.org>
      
      	More GtkAction stuff (still unused):
      
      	* configure.in: added new directories menus/ and app/actions/
      
      	* Makefile.am: build menus/
      
      	* menus/.cvsignore
      	* menus/Makefile.am
      	* menus/*-menu.xml: new files: XML menu descriptions for each menu
      	which is now defined in gui/*-menu.c.
      
      	* app/widgets/widgets-types.h: some typedefs for GimpActionGroup.
      
      	* app/widgets/gimpactiongroup.[ch]: added a "Gimp" construct-only
      	property. Added APIs to set actions visible/sensitive/active
      	and an unimplemented stub for setting the action's color.
      
      	* app/Makefile.am: build actions/ and link libappactions.a
      
      	* app/actions/.cvsignore
      	* app/actions/Makefile.am
      	* app/actions/*-actions.[ch]: new files: GtkActions for each
      	*-commands.c file in gui/. Ported all "update" functions from the
      	*-menu.c files.
      	(everything completely unused, untested and partly #if 0'ed)
      
      	* app/core/gimpimage.[ch]: for reasons of (action-) symmetry, added
      	API to raise/lower channels/vectors to top/bottom.
      
      	* app/gui/channels-commands.[ch]
      	* app/gui/vectors-commands.[ch]: added callbacks for the new
      	to top/bottom functions.
      
      	* app/gui/Makefile.am
      	* app/gui/dockable-commands.[ch]: new files split out of
      	dialogs-commands.[ch].
      
      	* app/gui/dialogs-commands.[ch]
      	* app/gui/dialogs-menu.c: changed accordingly.
      
      	* app/gui/edit-commands.[ch]: added edit_paste_into_cmd_callback()
      	and remove usage of "guint action".
      
      	* app/gui/image-menu.c: changed accordingly.
      
      	* app/gui/palette-editor-commands.[ch]: split
      	+palette_editor_new_color_cmd_callback() into separate callbacks
      	for adding from FG and BG.
      
      	* app/gui/palette-editor-menu.c: changed accordingly.
      8848558f
  10. 18 Apr, 2004 1 commit
    • Sven Neumann's avatar
      app/widgets/Makefile.am app/widgets/widgets-types.h removed GimpEnumMenu. · 89cf4554
      Sven Neumann authored
      2004-04-18  Sven Neumann  <sven@gimp.org>
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpenummenu.[ch]: removed GimpEnumMenu.
      
      	* app/widgets/gimpenumwidgets.[ch]: moved widget constructors that
      	don't use GimpEnumMenu from gimpenummenu.[ch] to these new files.
      
      	* app/widgets/gimpenumcombobox.[ch]: added a GtkComboBox widget
      	using GimpEnumStore; replaces GimpEnumMenu.
      
      	* app/widgets/gimpenumstore.[ch]: added new function
      	gimp_enum_store_lookup_by_value().
      
      	* app/widgets/gimppropwidgets.[ch]: replaced
      	gimp_prop_enum_option_menu_new() with gimp_prop_enum_combo_box_new().
      
      	* app/gui/brush-select.[ch]
      	* app/gui/convert-dialog.c
      	* app/gui/layers-commands.c
      	* app/gui/preferences-dialog.c
      	* app/gui/resize-dialog.c
      	* app/tools/gimpblendoptions.c
      	* app/tools/gimpcolorbalancetool.c
      	* app/tools/gimpcroptool.c
      	* app/tools/gimpcurvestool.c
      	* app/tools/gimplevelstool.c
      	* app/tools/gimpmagnifytool.c
      	* app/tools/gimppaintoptions-gui.c
      	* app/tools/gimpselectionoptions.c
      	* app/tools/gimptransformoptions.c
      	* app/widgets/gimpcolorframe.c
      	* app/widgets/gimpeditor.c
      	* app/widgets/gimpgrideditor.c
      	* app/widgets/gimphistogrameditor.c
      	* app/widgets/gimpstrokeeditor.c
      	* app/widgets/gimptemplateeditor.c
      	* app/widgets/gimptexteditor.c: ported to GimpEnumComboBox.
      89cf4554
  11. 15 Apr, 2004 2 commits
    • Michael Natterer's avatar
      derive it from GtkFileChooser instead of GtkFileSelection. · 2f2301c9
      Michael Natterer authored
      2004-04-15  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpfiledialog.[ch]: derive it from GtkFileChooser
      	instead of GtkFileSelection.
      
      	* app/gui/file-dialog-utils.c
      	* app/gui/file-open-dialog.c
      	* app/gui/file-save-dialog.c
      	* app/widgets/gimpthumbbox.c: changed accordingly.
      
      	* app/gui/gradients-commands.c
      	* app/gui/vectors-commands.c
      	* app/tools/gimpimagemaptool.c
      	* app/widgets/gimperrorconsole.c
      	* app/widgets/gimptexteditor.c
      	* libgimpwidgets/gimpfileentry.c: use file choosers instead of
      	file selectors.
      2f2301c9
    • Michael Natterer's avatar
      Context cleanup continued: · 837fa429
      Michael Natterer authored
      2004-04-15  Michael Natterer  <mitch@gimp.org>
      
      	Context cleanup continued:
      
      	* app/core/gimpitem.[ch]: added context parameter to
      	GimpItem::stroke().
      
      	* app/core/gimpchannel.c (gimp_channel_stroke)
      	* app/vectors/gimpvectors.c (gimp_vectors_stroke): use it to get
      	default values from instead of gimp_get_user_context().
      
      	* app/core/gimpselection.c
      	* app/gui/stroke-dialog.c
      	* tools/pdbgen/pdb/edit.pdb
      	* tools/pdbgen/pdb/paths.pdb: changed accordingly.
      
      	* app/pdb/edit_cmds.c
      	* app/pdb/paths_cmds.c: regenerated.
      
      	* app/plug-in/plug-in.[ch]: added GimpContext member to the PlugIn
      	struct. Added context parameter to plug_in_new(),
      	plug_in_call_query() and plug_in_call_init().
      
      	* app/plug-in/plug-in-run.[ch]: added context parameters to
      	plug_in_run() and plug_in_repeat().
      
      	* app/gui/plug-in-commands.c
      	* app/gui/vectors-commands.c
      	* app/pdb/procedural_db.c
      	* app/widgets/gimphelp.c: pass a context to plug_in_run() and
      	plug_in_repeat().
      
      	* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): call
      	procedures with the plug-in's context.
      
      	* app/plug-in/plug-ins.c: use a temporary context for running the
      	plug-ins' query() and init() functions. Use the same context for
      	running automatic extensions. This temporarily separates the main
      	Script-Fu extension from the user context (i.e. scripts have no
      	way of setting/getting the global FG, BG, brush etc.).
      837fa429
  12. 14 Apr, 2004 1 commit
    • Michael Natterer's avatar
      Get rid of the "current_context" which was in fact just a bunch of global · 18d9161e
      Michael Natterer authored
      2004-04-15  Michael Natterer  <mitch@gimp.org>
      
      	Get rid of the "current_context" which was in fact just a bunch of
      	global variables. Instead, pass the needed context all the way
      	from the GUI and the PDB to the core. This is a prerequisite for
      	macro recording and generally helps separating the various
      	subsystems from each other. Work in progress...
      
      	* app/core/gimp.[ch]: removed member "current_context" and
      	gimp_[get|set]_current_context().
      
      	* app/core/gimp-edit.[ch]
      	* app/core/gimpdrawable-blend.[ch]
      	* app/core/gimpdrawable-bucket-fill.[ch]
      	* app/core/gimpdrawable-offset.[ch]
      	* app/core/gimpdrawable-transform.[ch]
      	* app/core/gimpimage-crop.[ch]
      	* app/core/gimpimage-flip.[ch]
      	* app/core/gimpimage-merge.[ch]
      	* app/core/gimpimage-resize.[ch]
      	* app/core/gimpimage-rotate.[ch]
      	* app/core/gimpimage.[ch]
      	* app/core/gimpimagefile.[ch]
      	* app/core/gimpitem-linked.[ch]
      	* app/core/gimpitem.[ch]
      	* app/core/gimplayer.[ch]
      	* app/core/gimpselection.[ch]
      	* app/core/gimptemplate.[ch]
      	* app/file/file-open.[ch]
      	* app/file/file-save.[ch]
      	* app/pdb/procedural_db.[ch]
      	* app/text/gimptext-compat.[ch]
      	* app/text/gimptextlayer-transform.[ch]
      	* app/gui/brush-select.[ch]
      	* app/gui/font-select.[ch]
      	* app/gui/gradient-select.[ch]
      	* app/gui/palette-select.[ch]
      	* app/gui/pattern-select.[ch]: added tons of "GimpContext *context"
      	parameters and use the passed context instead of
      	gimp_get_current_context().
      
      	* app/app_procs.c
      	* app/batch.c
      	* app/core/gimpchannel.c
      	* app/core/gimpdrawable.c
      	* app/paint/gimperaser.c
      	* app/paint/gimppaintbrush.c
      	* app/plug-in/plug-in-message.c
      	* app/plug-in/plug-ins.c
      	* app/text/gimptextlayer.c
      	* app/tools/gimpblendtool.c
      	* app/tools/gimpbucketfilltool.c
      	* app/tools/gimpcroptool.c
      	* app/tools/gimpeditselectiontool.c
      	* app/tools/gimpfliptool.c
      	* app/tools/gimpinktool.c
      	* app/tools/gimptransformtool.c
      	* app/vectors/gimpvectors.c
      	* app/gui/convert-dialog.c
      	* app/gui/drawable-commands.c
      	* app/gui/edit-commands.c
      	* app/gui/file-commands.c
      	* app/gui/file-new-dialog.c
      	* app/gui/file-open-dialog.c
      	* app/gui/file-save-dialog.c
      	* app/gui/image-commands.c
      	* app/gui/layers-commands.c
      	* app/gui/offset-dialog.c
      	* app/gui/select-commands.c
      	* app/gui/vectors-commands.c
      	* app/widgets/gimpdnd.c
      	* app/widgets/gimpdocumentview.c
      	* app/widgets/gimphelp.c
      	* app/widgets/gimpthumbbox.c: pass gimp_get_user_context() or
      	GIMP_CONTEXT(tool_options) or whatever is the right context
      	to the changed core functions.
      
      	* tools/pdbgen/app.pl: pass "GimpContext *context" to all
      	generated PDB invokers.
      
      	* tools/pdbgen/pdb/brush_select.pdb
      	* tools/pdbgen/pdb/brushes.pdb
      	* tools/pdbgen/pdb/drawable.pdb
      	* tools/pdbgen/pdb/edit.pdb
      	* tools/pdbgen/pdb/font_select.pdb
      	* tools/pdbgen/pdb/gradient_select.pdb
      	* tools/pdbgen/pdb/gradients.pdb
      	* tools/pdbgen/pdb/image.pdb
      	* tools/pdbgen/pdb/layer.pdb
      	* tools/pdbgen/pdb/paint_tools.pdb
      	* tools/pdbgen/pdb/palette.pdb
      	* tools/pdbgen/pdb/palette_select.pdb
      	* tools/pdbgen/pdb/palettes.pdb
      	* tools/pdbgen/pdb/paths.pdb
      	* tools/pdbgen/pdb/pattern_select.pdb
      	* tools/pdbgen/pdb/patterns.pdb
      	* tools/pdbgen/pdb/selection.pdb
      	* tools/pdbgen/pdb/text_tool.pdb
      	* tools/pdbgen/pdb/transform_tools.pdb: pass the new context
      	parameter to the changed core functions.
      
      	* app/pdb/*_cmds.c: regenerated.
      18d9161e
  13. 13 Apr, 2004 2 commits
    • Michael Natterer's avatar
      Moved the calls to floating_sel_relax()/rigor() from various places to two · 2e61d12e
      Michael Natterer authored
      2004-04-13  Michael Natterer  <mitch@gimp.org>
      
      	Moved the calls to floating_sel_relax()/rigor() from various
      	places to two single spots in the core where they are actually
      	needed. Fixes bug #138356 (which was caused by the projection
      	being triggered in the middle of changing the floating selection's
      	size or the size of the drawable it is attached to). This commit
      	effectively removes floating selection fiddling from the core's
      	public API.
      
      	* app/core/gimpdrawable.[ch] (gimp_drawable_has_floating_sel): new
      	function which returns TRUE if there is a floating selection
      	attached to the drawable.
      
      	* app/core/gimpdrawable.c (gimp_drawable_translate)
      	(gimp_drawable_set_tiles_full): if the drawable *has* a floating
      	selection, relax/rigor it before/after modifying the drawable.
      
      	* app/core/gimplayer.c (gimp_layer_translate)
      	(gimp_layer_set_tiles): if the layer *is* the floating selection,
      	relax/rigor it before/after modifying it.
      
      	* app/core/gimpdrawable-transform.c
      	* app/core/gimpimage-convert.c
      	* app/core/gimpimage-crop.c
      	* app/core/gimpimage-flip.c
      	* app/core/gimpimage-resize.c
      	* app/core/gimpimage-rotate.c
      	* app/core/gimpimage-scale.c
      	* app/gui/layers-commands.c
      	* app/tools/gimpeditselectiontool.c
      	* tools/pdbgen/pdb/layer.pdb: removed calls to
      	floating_sel_rigor()/relax() all over the place. Also removed
      	lots of undo groups which are obsolete now.
      
      	* app/pdb/layer_cmds.c: regenerated.
      2e61d12e
    • Michael Natterer's avatar
      GimpItem undo group cleanup in preparation of fixing bug #138356: · 069489fb
      Michael Natterer authored
      2004-04-13  Michael Natterer  <mitch@gimp.org>
      
      	GimpItem undo group cleanup in preparation of fixing bug #138356:
      
      	* app/core/core-enums.[c]: renamed LAYER_SCALE and LAYER_RESIZE
      	undo groups to ITEM_SCALE and ITEM_RESIZE.
      
      	* app/core/gimpitem.[ch]: always push undo groups around
      	GimpItem::translate(), scale(), resize(), flip(), rotate() and
      	transform(). Added the resp. undo_desc strings to GimpItemClass.
      
      	* app/core/gimpchannel.[ch]
      	* app/core/gimpdrawable.[ch]
      	* app/core/gimplayer.c: removed all undo groups from
      	implementations of the above methods. Removed the undo_desc
      	strings which were moved to GimpItemClass.
      
      	* app/core/gimpimage-crop.c
      	* app/core/gimpselection.c
      	* app/gui/layers-commands.c
      	* app/vectors/gimpvectors.c
      	* tools/pdbgen/pdb/layer.pdb: changed accordingly.
      
      	* app/pdb/layer_cmds.c: regenerated.
      069489fb
  14. 22 Mar, 2004 1 commit
    • Michael Natterer's avatar
      removed the undo clearing/sanitizing code... · bbc73e63
      Michael Natterer authored
      2004-03-22  Michael Natterer  <mitch@gimp.org>
      
      	* app/file/file-open.c (file_open_with_proc_and_display): removed
      	the undo clearing/sanitizing code...
      
      	(file_open_image): ...and added it here so *all* newly opened
      	images start with a clean and sane undo state.
      
      	* app/gui/file-commands.c (file_revert_confirm_callback): removed
      	(incomplete) undo sanitizing here too.
      bbc73e63
  15. 21 Mar, 2004 1 commit
  16. 20 Mar, 2004 1 commit
  17. 18 Mar, 2004 2 commits
    • Sven Neumann's avatar
      app/gui/layers-commands.c (layers_text_tool) treat modified text layers · 2ce9ca73
      Sven Neumann authored
      2004-03-18  Sven Neumann  <sven@gimp.org>
      
      	* app/gui/layers-commands.c (layers_text_tool)
      	* app/gui/layers-menu.c (layers_menu_update): treat modified text
      	layers like normal layers.
      
      	* app/gui/layers-commands.c (layers_edit_layer_query): added a
      	check button that gives access to the "auto-rename" property of a
      	text layer.
      
      	* app/text/gimptextlayer.c: typo.
      
      	* app/widgets/gimppreviewrendererlayer.c
      	(gimp_preview_renderer_layer_render): show the text layer icon for
      	unmodified text layers only.
      2ce9ca73
    • Simon Budig's avatar
      Initialize a new layer unconditionally. Spotted by Roman Joost. · def801b3
      Simon Budig authored
      2004-03-18  Simon Budig  <simon@gimp.org>
      
      	* app/gui/layers-commands.c: Initialize a new layer
      	unconditionally. Spotted by Roman Joost.
      def801b3
  18. 17 Mar, 2004 2 commits
    • Simon Budig's avatar
      app/gui/channels-commands.c app/gui/layers-commands.c · e2d5ed62
      Simon Budig authored
      2004-03-17  Simon Budig  <simon@gimp.org>
      
      	* app/gui/channels-commands.c
      	* app/gui/layers-commands.c
      	* app/gui/vectors-commands.c
      	* app/widgets/gimpitemtreeview.c: shuffled some
      	gimp_image_flush()'es around.
      e2d5ed62
    • Simon Budig's avatar
      app/gui/channels-commands.c app/gui/layers-commands.c Make sure that · 23711e13
      Simon Budig authored
      2004-03-17  Simon Budig  <simon@gimp.org>
      
      	* app/gui/channels-commands.c
      	* app/gui/layers-commands.c
      	* app/gui/vectors-commands.c: Make sure that non-dialog creation
      	of layer/channels/vectors properly updates the image. Also
      	clear the new channel unconditionally.
      
      	Change the name of the newly created item to not include the "Copy".
      	It isn't a copy.
      
      	* app/widgets/gimpitemtreeview.c: Don't try to assemble translated
      	strings.
      
      	* app/widgets/gimpchanneltreeview.c
      	* app/widgets/gimplayertreeview.c
      	* app/widgets/gimpvectorstreeview.c: properly overwrite the
      	tooltip for the "New" button.
      
      	Sorry, some real string changes ahere, but they were necessary.
      23711e13
  19. 16 Mar, 2004 2 commits
    • Michael Natterer's avatar
      ref new tiles before unrefing the old ones. · 49238237
      Michael Natterer authored
      2004-03-16  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdrawable.c (gimp_drawable_set_tiles): ref new
      	tiles before unrefing the old ones.
      
      	* app/core/gimpimage-undo-push.c: keep undo memsize exact by
      	adjusting undo->size when the stored data changes.
      
      	* app/core/gimpchannel.[ch] (gimp_channel_new_from_alpha)
      	* app/core/gimpchannel-select.[ch] (gimp_channel_select_alpha):
      	replaced "layer" parameter by "drawable".
      
      	* app/gui/layers-commands.c
      	* tools/pdbgen/pdb/selection.pdb: changed accordingly.
      
      	* app/pdb/selection_cmds.c: regenerated.
      
      	* app/core/gimpchannel.c
      	* app/core/gimplayer.c
      	* app/core/gimplayermask.[ch]
      	* app/core/gimpselection.c: remdom cleanup & code review.
      49238237
    • Simon Budig's avatar
      Update the Plugin Menu immediately after setting the last invoked plugin. · 5ab18071
      Simon Budig authored
      2004-03-16  Simon Budig  <simon@gimp.org>
      
      	* app/gui/plug-in-commands.c: Update the Plugin Menu immediately
      	after setting the last invoked plugin. Fixes inconsistencies
      	between name shown and plugin invoked.
      
      	Fixes #136909, #137242 and #81479 (again, the fix in
      	lightening_main.c only probably was bogus, since this must not
      	rely on correctly written plugins).
      
      	* plug-ins/common/compose.c
      	* plug-ins/common/decompose.c
      	* plug-ins/common/film.c
      	* plug-ins/common/screenshot.c
      	* plug-ins/common/smooth_palette.c
      	* plug-ins/common/tile.c
      	* plug-ins/fits/fits.c: Ensure that each gimp_image_undo_enable()
      	had a gimp_image_undo_disable() first...
      5ab18071
  20. 13 Mar, 2004 1 commit
  21. 04 Mar, 2004 1 commit
    • Sven Neumann's avatar
      marked new strings for translation. · e21dc0ee
      Sven Neumann authored
      2004-03-04  Sven Neumann  <sven@gimp.org>
      
      	* app/config/gimprc-blurbs.h: marked new strings for translation.
      
      	* libgimpwidgets/gimpstock.h: added #defines for missing icons.
      	This allows us to replace them later without changing the API.
      
      	* app/gui/dialogs-constructors.c
      	* app/gui/dialogs-menu.c
      	* app/gui/gradient-editor-commands.c
      	* app/gui/image-menu.c
      	* app/gui/toolbox-menu.c
      	* app/tools/gimppaintoptions-gui.c
      	* app/tools/gimptextoptions.c
      	* app/widgets/gimppaletteeditor.c: use the new stock icon names
      	instead of abusing GTK+ and GIMP tool stock icons.
      
      	* app/gui/preferences-dialog.c (prefs_dialog_new): added icons
      	to the new check buttons.
      e21dc0ee
  22. 27 Feb, 2004 1 commit
    • Michael Natterer's avatar
      app/widgets/Makefile.am app/widgets/widgets-types.h new widget swallowing · 527aa849
      Michael Natterer authored
      2004-02-27  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpfiledialog.[ch]: new widget swallowing most
      	of file-dialog-utils.[ch]'s functionality.
      
      	* app/widgets/widgets-types.h: added "gpointer callback_data" to
      	GimpItemFactorySetupFunc so the setup_funcs can create items in
      	the same context as the item factory's default items.
      
      	* app/widgets/gimpmenufactory.c (gimp_menu_factory_menu_new):
      	pass "callback_data" to setup_func().
      
      	* app/gui/file-open-menu.[ch]
      	* app/gui/file-save-menu.[ch]: use the passed callback_data
      	when creating the menus and attach the file_proc to the
      	menu items using g_object_set_data().
      
      	* app/gui/file-commands.[ch]: merged separate file type callbacks
      	for open and save dialogs into one callback which simply
      	calls gimp_file_dialog_set_file_proc().
      
      	* app/gui/file-dialog-utils.[ch]: removed file_dialog_new()
      	and file_dialog_set_proc().
      
      	* app/gui/file-open-dialog.[ch]
      	* app/gui/file-save-dialog.[ch]: use the new widget and removed
      	global variables except the dialog pointer itself.
      
      	* app/gui/image-menu.[ch]
      	* app/gui/tool-options-menu.[ch]
      	* app/gui/toolbox-menu.[ch]: changed accordingly.
      527aa849
  23. 19 Feb, 2004 2 commits
    • Michael Natterer's avatar
      new function which returns the image's QMask. · bb7a9d9b
      Michael Natterer authored
      2004-02-19  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpimage-qmask.c (gimp_image_get_qmask): new function
      	which returns the image's QMask.
      
      	* app/core/gimpimage.c (gimp_image_channel_name_changed)
      	* app/gui/qmask-commands.c (qmask_query_response): use it.
      bb7a9d9b
    • Michael Natterer's avatar
      added new signal "buffer_changed" and new function · 513f5eac
      Michael Natterer authored
      2004-02-19  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimp.[ch]: added new signal "buffer_changed" and new
      	function gimp_set_global_buffer() which emits it when the global
      	buffer changes.
      
      	* app/core/gimp-edit.c (gimp_edit_extract): use it instead
      	of fiddling with gimp->global_buffer manually.
      
      	* app/gui/image-menu.c: connect to "buffer_changed" and set the
      	"Paste" menu entries sensitive. Fixes bug #134752.
      
      	(image_menu_update): changed accordingly. Also changed a lot of
      	buggy SET_SENSITIVE() lines which made menu items which work fine
      	on any drawable insensitive when there were no layers (instead
      	of no drawable).
      
      	* app/gui/edit-commands.c: added new macro return_if_new_drawable()
      	and use it instead of return_if_no_image() so we don't run
      	into assertions if there is no active drawable.
      
      	(cut,copy_named_buffer_callback): unfortunately had to introduce
      	two new translated messages about not being able to cut/copy when
      	there is no active drawable.
      513f5eac
  24. 17 Feb, 2004 1 commit
    • Michael Natterer's avatar
      Make sure each GimpItem emits "removed" when it is removed from the image · d9289192
      Michael Natterer authored
      2004-02-17  Michael Natterer  <mitch@gimp.org>
      
      	Make sure each GimpItem emits "removed" when it is removed from
      	the image so dialogs have a chance to close themselves:
      
      	* app/core/gimplayer.c (gimp_layer_apply_mask): emit "removed"
      	from the mask.
      
      	(gimp_layer_removed): new function which emits "removed" from
      	the layer's mask when the layer gets removed from the image.
      
      	* app/core/gimpimage.c (gimp_image_dispose): emit "removed"
      	from all layers, channels and vectors.
      
      	* app/gui/layers-commands.c (layers_scale_layer_query)
      	(layers_resize_layer_query): removed recently added connections to
      	"removed" because GimpViewableDialog does this automatically.
      d9289192
  25. 14 Feb, 2004 1 commit
    • Michael Natterer's avatar
      Fixed lots of QuickMask brokenness by letting the image adjust its · 25b81b15
      Michael Natterer authored
      2004-02-14  Michael Natterer  <mitch@gimp.org>
      
      	Fixed lots of QuickMask brokenness by letting the image adjust
      	its qmask_state automatically:
      
      	* app/core/gimpimage-qmask.h: #define GIMP_IMAGE_QMASK_NAME "Qmask".
      	Use the define in all files below.
      
      	* app/core/gimpimage.[ch]: split gimp_image_drawable_add,_remove()
      	into separate handlers for layers and channels. Added a
      	"name_changed" handler for all channels. In the channel "add",
      	"remove" and "name_changed" handlers, check if it was a channel
      	named "Qmask" that was added, removed or renamed and call
      	gimp_image_set_qmask_state() accordingly.
      
      	* app/core/core-enums.[ch]
      	* app/core/gimpimage-undo-push.[ch]
      	* app/core/gimpundo.c: removed all Qmask undo code because the image
      	does the right thing without undo interaction now.
      
      	* app/core/gimpimage-qmask.c (gimp_image_set_qmask_state): set
      	gimage->qmask_state early so we can return early when called
      	recursively. Removed calls to gimp_image_undo_push_image_qmask().
      	Returned "removed" callback (it was utterly broken the way it was
      	implemented).
      
      	* app/display/gimpdisplayshell-callbacks.c
      	(gimp_display_shell_qmask_toggled): check if the image's
      	qmask state needs to be changed before changing it.
      
      	* app/xcf/xcf-load.c (xcf_load_channel): removed code which
      	recognized the qmask. GimpImage does this automatically now.
      
      	* app/gui/qmask-commands.c: cleanup.
      
      	* app/widgets/gimpimagedock.c (gimp_image_dock_constructor):
      	destroy the "/Select/By Color" and "/Select/Toggle QuickMask" menu
      	items.
      
      	* app/widgets/image-menu.c (image_menu_update): changed accordingly.
      25b81b15