1. 03 May, 2004 2 commits
    • Michael Natterer's avatar
      added some utility functions to get a Gimp, GimpImage, GimpDisplay and · d745841e
      Michael Natterer authored
      2004-05-03  Michael Natterer  <mitch@gimp.org>
      	* app/actions/actions.[ch]: added some utility functions to get a
      	Gimp, GimpImage, GimpDisplay and GtkWidget from the "data" pointer
      	passed to action callbacks.
      	* app/actions/channels-actions.c
      	* app/actions/channels-commands.c
      	* app/actions/drawable-actions.c
      	* app/actions/drawable-commands.c
      	* app/actions/edit-actions.c
      	* app/actions/edit-commands.c
      	* app/actions/file-actions.c
      	* app/actions/file-commands.c
      	* app/actions/help-commands.c
      	* app/actions/image-actions.c
      	* app/actions/image-commands.c
      	* app/actions/layers-actions.c
      	* app/actions/layers-commands.c
      	* app/actions/plug-in-actions.c
      	* app/actions/plug-in-commands.c
      	* app/actions/qmask-actions.c
      	* app/actions/qmask-commands.c
      	* app/actions/select-actions.c
      	* app/actions/select-commands.c
      	* app/actions/tools-commands.c
      	* app/actions/vectors-actions.c
      	* app/actions/vectors-commands.c
      	* app/actions/view-commands.c: use the new functions instead of
      	duplicating insane macros and if() constructs over and over again.
    • Sven Neumann's avatar
      use a GimpFrame for gimp_radio_group_new() and friends. · 2aae5bb8
      Sven Neumann authored
      2004-05-03  Sven Neumann  <sven@gimp.org>
      	* libgimpwidgets/gimpwidgets.c: use a GimpFrame for
      	gimp_radio_group_new() and friends.
      	* themes/Default/gtkrc
      	* themes/Small/gtkrc: set a smaller label_spacing for GimpFrame
      	widgets in GimpDockables. Lame hack to keep the tool options
      	* app/actions/image-commands.c: changed spacing.
      	* app/gui/offset-dialog.c: merged check and radio buttons into a
      	single radio button group; changed spacing.
  2. 02 May, 2004 4 commits
    • Michael Natterer's avatar
      truncate the passed dialog identifier at the first '|'. Fixes creating · 80cc1c0e
      Michael Natterer authored
      2004-05-03  Michael Natterer  <mitch@gimp.org>
      	* app/actions/dockable-commands.c (dockable_add_tab_cmd_callback):
      	truncate the passed dialog identifier at the first '|'. Fixes
      	creating brushes, paterns etc. dialogs from the dockables'
      	"Add Tab" menu.
    • Michael Natterer's avatar
      renamed action "qmask-toggle" to "qmask-active" and added new action · 8895917d
      Michael Natterer authored
      2004-05-02  Michael Natterer  <mitch@gimp.org>
      	* app/actions/qmask-actions.c: renamed action "qmask-toggle" to
      	"qmask-active" and added new action "qmask-toggle" with a label
      	and shortcut suited for the "Select" menu.
      	* app/actions/select-actions.c: removed "select-toggle-qmask".
      	* app/actions/select-commands.[ch]: removed callback
      	* app/actions/channels-actions.c (channels_actions_update)
      	* app/actions/vectors-actions.c (vectors_actions_update): handle
      	"data" being both GimpDisplay and GimpDisplayShell so the actions
      	can be used in the image menu.
      	* menus/image-menu.xml.in: s/select-toggle-qmask/qmask-toggle/.
      	* menus/qmask-menu.xml: s/qmask-toggle/qmask-active/.
    • Michael Natterer's avatar
      app/actions/Makefile.am new files containing factored out code to set up · bdec5cc5
      Michael Natterer authored
      2004-05-02  Michael Natterer  <mitch@convergence.de>
      	* app/actions/Makefile.am
      	* app/actions/file-dialog-actions.[ch]: new files containing
      	factored out code to set up the <Load> and <Save> actions.
      	Use GimpPlugInActions instead of just GtkActions.
      	* app/actions/file-dialog-commands.[ch]: new files containing
      	file_dialog_type_cmd_callback() which is a
      	GimpPlugInAction::selected() callback now.
      	* app/actions/file-commands.[ch]: removed the callback here.
      	* app/actions/file-open-actions.c
      	* app/actions/file-save-actions.c: removed code duplication and
      	use file_dialog_actions_setup() instead.
    • 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
      	* app/widgets/widgets-types.h: removed item factory typedefs...
      	* app/widgets/gimpitemfactory.h: ...and added them here.
      	* app/widgets/gimpactiongroup.[ch]: added new function
      	* 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
  3. 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
      	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.
  4. 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
    • 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.
    • 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
      	* 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/
      	* 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.
  5. 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
      	* app/gui/image-menu.c
      	* app/gui/toolbox-menu.c: changed accordingly.
    • 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
      	* 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.
  6. 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.
    • 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
      	(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
  7. 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
      	* 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.
  8. 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.
    • 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"
  9. 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().
    • 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.
    • 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.
  10. 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.
    • 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.
    • 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
      	* 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.
  11. 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
      	* 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.
  12. 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.
    • 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
      	* 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
      	* 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.).
  13. 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
      	* 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
      	* 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.
  14. 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.
    • 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.
  15. 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.
  16. 21 Mar, 2004 1 commit
  17. 20 Mar, 2004 1 commit
  18. 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.
    • 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.
  19. 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.
    • 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
      	* 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.
  20. 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.
    • 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...
  21. 13 Mar, 2004 1 commit
  22. 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.