Commit Graph

45 Commits

Author SHA1 Message Date
Jehan c6906e77da app: get rid of dummy "*-menu" and "*-popup" actions.
With our old code, we needed dummy actions for every submenu. This is not needed
anymore. Actions are only for end menu items (items which actually do something,
not just open a submenu).
Get rid of them all, as well as the code to ignore any action ending with such
suffixes in action-listing pieces of code.
2023-04-20 15:36:11 +02:00
Jehan 89772351c9 Issue #9349: Add concept of "short" (contextual) vs "long" label for actions.
All Gimp*ActionEntry (except GimpProcedureActionEntry) now have a short_label
member.
This commit doesn't add any new short label yet. It just fixes the struct usage,
and fixes a few localization contexts here and there when I saw such broken
strings.

I also fixed a few gradient editor action strings which were not proper labels
(like "splitmidpoint" or "splituniform", or missing uppercase, etc.).
2023-04-14 17:48:57 +02:00
Jehan 71c8ff1f21 app: change all action entry structs to allow several shortcuts.
- The `accelerator` variable is a NULL-terminated array, allowing up to 3
  accelerators per action (so far, none has more than 2).
- Only the struct GimpProcedureActionEntry still has a single accelerator as I
  don't think it makes sense that we change the plug-in API to allow a plug-in
  to register more than 1 shortcut for a procedure (e.g. we don't want a plug-in
  to just register all possible keys for their procedure!).
  Of course, users will still be allowed to register more shortcuts for plug-in
  actions through the shortcut dialog. It's only the initialization which
  1-shortcut max for procedure actions.
- Remove all actions ending up in "-accel" as these were only a trick to
  register more shortcut for a same action. Now we just have the real
  possibility (rather than creating bogus duplicate actions). As a consequence,
  these actions accelerators have been moved as secondary accelerator to their
  main action.
  The deleted actions are: "view-zoom-out-accel", "view-zoom-in-accel",
  "view-zoom-16-1-accel", "view-zoom-4-1-accel", "view-zoom-2-1-accel" and
  "view-zoom-1-1-accel".
2023-04-12 22:07:09 +02:00
Jehan 811d356953 app: GimpAction now has a "reason" parameter to explain being disabled.
In some cases, in particular for actions generated from plug-in
procedure right now, we were displaying the reason of the insensitivity
(typically right now, only the drawable type is cited). This was done by
appending the reason to the tooltip, separated by 2 newlines, which
resulted in extra ugly design, no nice way to style this info directly
(with pango for instance if the widget display allows it, or on a
separate info widget in a possible future, or whatnot).

Also it would mean that the action search could match a disabled action
by mistake if a search word happens to be in the reason message.

This improves the situation with the following changes:
* gimp_action_set_sensitive() now takes an optional reason string to set
  the reason message.
* Same for gimp_action_group_set_action_sensitive().
* gimp_action_get_sensitive() returns an optional reason string.
* gimp_procedure_get_sensitive()'s tooltip return value now becomes a
  reason (it won't contain anymore the tooltip and the reason
  concatenated, only the reason for separate processing).
2021-04-23 19:43:30 +02:00
Ell 77111ba045 app: add GimpToolItem; derive GimpToolInfo from it
Add GimpToolItem as a common base class for toolbox items.
Derive GimpToolInfo from GimpToolItem, representing an individual
tool.  The next commits add support for tool groups, represented by
an alternative subclass of GimpToolItem.

Most of the tool-info properties remain in GimpToolInfo, however,
GimpToolItem takes care of tool-item visibility.
2020-01-30 02:50:15 +02:00
Michael Natterer 3b6b3fc189 app: GtkAction -> GAction madness part two
Change all action callbacks so they can be invoked by a GAction:

- add GimpActionCallback typedef:
  void (* cb) (GimpAction*, GVariant*, gpointer)
- change all action callbacks to the GimpActionCallback signature
- add "gimp-activate" and "gimp-change-state" signals to GimpAction,
  with the same signature as the resp. GAction signals
- remove all other custom action signals and only use the new
  GimpAction signals
- pass around appropriate GVariants containing booleans, int32,
  strings
- badly hack around to force a GimpProcedure pointer into a
  uint64 variant
- remove all G_CALLBACK() casts from all action callbacks,
  they all have the same signature now
2019-07-04 01:11:48 +02:00
Michael Natterer 86e07c16b5 app: start porting away from GtkAction and friends
Step one: get rid of all those deprecation warnings that make
it hard to see any other warnings:

- add a lot of dummy API to GimpAction, GimpActionGroup, GimpUIManager
  etc. which simply forwards to the deprecated GTK functions, they
  will all go away again later
- rename GimpAction to GimpActionImpl
- add interface GimpAction that is implemented by all action classes,
  creates a common interface and allows to remove some duplicated
  logic from GimpToggleAction and GimpRadioAction, and at the same
  time adds more features
2019-07-02 14:21:32 +02:00
Michael Natterer 5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
Michael Natterer dda54c1df8 Deprecate stock items for good and change all icon defines to GIMP_ICON_*
Try to sort all GIMP_ICON_* defines into FDO categories like in
https://specifications.freedesktop.org/icon-naming-spec/latest/ar01s04.html

Add defines for all icons we override, rename some icons to their FDO
standard names, and mark the ones we duplicate with a comment so we
don't forget to rename those to standard names in 3.0.
2017-03-05 16:01:59 +01:00
Jehan 6c674e973c app, libgimp*, plug-ins, icons: revert icon names into freedesktop...
... standard icon names and GTK+ icon names as second choice.
We should only use GIMP specific icon names as last resort, when there
is no standard or GTK+ names dedicated to the function.
This is made possible thanks to commit 3cc77b0.

s/gimp-document-recent/document-open-recent/
s/gimp-indent/format-indent-more/
s/gimp-next/go-next/
s/gimp-previous/go-previous/
s/gimp-save/document-save/
s/gimp-save-as/document-save-as/
s/gimp-revert/document-revert/
s/gimp-open/document-open/
s/gimp-document-recent/document-open-recent/
s/gimp-quit/window-close/ ou s/gimp-quit/application-exit/
s/gimp-warning/dialog-warning/
s/gimp-edit-clear/edit-clear/

s/gimp-justify-.*/gtk-justify-.*/
s/gimp-font/gtk-select-font/
s/gimp-color-palette/gtk-select-color/
s/gimp-cancel/gtk-cancel/
2016-09-03 15:49:29 +02:00
klausstaedtler 71bedb70f6 icons: Bug 759904
patch: replace "window-close" by "gimp-quit" (or GIMP_STOCK_QUIT)

gimp/app/actions/dock-actions.c:  { "dock-close", "window-close",
gimp/app/actions/view-actions.c:  { "view-close", "window-close",
gimp/app/actions/dockable-actions.c:  { "dockable-close-tab", "window-close",

patch: replace "gtk-directory" by "gimp-file-manager" (or GIMP_STOCK_FILE_MANAGER)

gimp/libgimpwidgets/gimpfileentry.c:  image = gtk_image_new_from_icon_name ("gtk-directory", GTK_ICON_SIZE_BUTTON);
gimp/app/actions/palettes-actions.c:  { "palettes-show-in-file-manager", "gtk-directory",
gimp/app/actions/mypaint-brushes-actions.c:  { "mypaint-brushes-show-in-file-manager", "gtk-directory",
gimp/app/actions/dynamics-actions.c:  { "dynamics-show-in-file-manager", "gtk-directory",
gimp/app/actions/tool-presets-actions.c:  { "tool-presets-show-in-file-manager", "gtk-directory",
gimp/app/actions/patterns-actions.c:  { "patterns-show-in-file-manager", "gtk-directory",
gimp/app/actions/documents-actions.c:  { "documents-show-in-file-manager", "gtk-directory",
gimp/app/actions/brushes-actions.c:  { "brushes-show-in-file-manager", "gtk-directory",
gimp/app/actions/gradients-actions.c:  { "gradients-show-in-file-manager", "gtk-directory",


add
gimp-rivert

patch
gimpicons.c
gimpicons.h

patch: replace "document-revert" by "gimp-revert" (or GIMP_STOCK_REVERT)

gimp/app/actions/tool-options-actions.c:  { "tool-options-restore-preset-menu", "document-revert",
gimp/app/actions/tool-presets-actions.c:  { "tool-presets-restore", "document-revert",
gimp/app/actions/gradient-editor-actions.c:  { "gradient-editor-load-left-color", "document-revert",
gimp/app/actions/gradient-editor-actions.c:  { "gradient-editor-load-right-color", "document-revert",
gimp/app/widgets/gimptooloptionseditor.c:    gimp_editor_add_button (GIMP_EDITOR (editor), "document-revert",
gimp/app/widgets/gimpdataeditor.c:                            "document-revert",
2016-06-10 13:50:45 +02:00
klausstaedtler b4463ad22f icons: Bug 759904
patch: replace "document-save" by "gimp-save" (or GIMP_STOCK_SAVE) and "document-save-as" by "gimp-save-as" (or GIMP_STOCK_SAVE_AS)


gimp/plug-ins/gimpressionist/presets.c:                        gtk_image_new_from_icon_name ("document-save",
gimp/libgimp/gimpexport.c:                        gtk_image_new_from_icon_name ("document-save",
gimp/app/actions/tool-options-actions.c:  { "tool-options-save-preset-menu", "document-save",
gimp/app/actions/vectors-actions.c:  { "vectors-export", "document-save",
gimp/app/actions/error-console-actions.c:  { "error-console-save-all", "document-save-as",
gimp/app/actions/error-console-actions.c:  { "error-console-save-selection", "document-save-as",
gimp/gimp/app/actions/gradient-editor-actions.c:  { "gradient-editor-save-left-color", "document-save",
gimp/app/actions/gradient-editor-actions.c:  { "gradient-editor-save-right-color", "document-save",
gimp/gimp/app/actions/gradients-actions.c:  { "gradients-save-as-pov", "document-save-as",
gimp/gimp/app/widgets/gimptooloptionseditor.c:    gimp_editor_add_button (GIMP_EDITOR (editor), "document-save",
gimp/app/widgets/gimpdevicestatus.c:    gimp_editor_add_button (GIMP_EDITOR (status), "document-save",
gimp/app/widgets/gimpsettingsbox.c:                                     "document-save",
gimp/app/widgets/gimpsettingseditor.c:                            "document-save",
gimp/gimp/app/widgets/gimpdataeditor.c:                            "document-save",
gimp/app/dialogs/preferences-dialog.c:  button = prefs_button_add ("document-save",
gimp/app/dialogs/preferences-dialog.c:  button = prefs_button_add ("document-save",
gimp/app/dialogs/preferences-dialog.c:  button = prefs_button_add ("document-save",
gimp/app/dialogs/preferences-dialog.c:  button = prefs_button_add ("document-save",
2016-06-10 13:50:45 +02:00
Michael Natterer 39909b6008 app: replace GimpList's internal GList with a GQueue
so we can easily iterate in reverse order, and access the last element
in O(1). Nothing makes use of this yet.
2016-05-01 15:22:44 +02:00
Daniel Sabo d5a316253d app: Show custom preset icons in the tool options menus 2016-01-10 10:03:10 -08:00
Michael Natterer 65a65947d9 app, libgimp: replace GTK_STOCK_FOO by icon names
unless it's a stock ID used for an action button, will address that
later.
2014-05-11 22:49:22 +02:00
Michael Natterer 23037b5230 app: convert all stock IDs kept around by the core by icon names
Particularly GimpViewable's stock_id. Make sure old config files
containing stock IDs are still properly parsed.
2014-05-07 01:01:56 +02:00
Michael Natterer 9ed5b3f45e app: port GimpAction and friends to icon names 2014-05-06 23:47:38 +02:00
Michael Natterer 867da8f293 app: add gimp_context_get_foreground,background_pixel()
which takes a Babl format to convert from/to.
Include <gegl.h> in a million places.
2012-05-02 17:50:41 +02:00
Michael Natterer 4f61e58bb8 app: set the sensitivity of the tool options' preset menu items
based on "editable" and "deletable".
2012-02-06 22:04:34 +01:00
Michael Natterer 91195e8593 app: remove the old tool presets system
Instead, keep around a GimpFilteredContainer in GimpToolInfo that
maintains a per-tool list of presets from the global preset factory.
Turn the tool options dialog's preset Save/Restore/Edit/Delete menus
and buttons into shortcuts for managing the active tool's presets.
2011-03-23 09:27:29 +01:00
Michael Natterer a3558e3cb8 Remove GIMP_OBJECT() casts when calling gimp_object_get_name() 2009-08-31 22:47:18 +02:00
Michael Natterer d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
Sven Neumann ff6bde0a88 also use the translation context for the tooltips.
2008-12-04  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpactiongroup.[ch]: also use the translation
	context for the tooltips.

	* app/actions/*.c: added translation context to all tooltips. 
Also
	improved some tooltips while I was on it.


svn path=/trunk/; revision=27757
2008-12-04 10:32:20 +00:00
Sven Neumann 74e76f2c6a added an extra parameter for the translation context to all
2008-12-03  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpactiongroup.[ch]: added an extra parameter for
	the translation context to all gimp_action_group_add methods.

	* app/actions/*.c: added a translation context to all action
	labels. Also unified and improved the labels and tooltips in a 
few
	places.


svn path=/trunk/; revision=27754
2008-12-03 15:27:42 +00:00
Martin Nordholts 5aeb568650 s/gimp_container_children_type/gimp_container_get_children_type/
s/gimp_container_policy/gimp_container_get_policy/
s/gimp_container_num_children/gimp_container_get_n_children/

* app/actions/actions.c
* app/actions/file-actions.c
* app/actions/file-commands.c
* app/actions/tool-options-actions.c
* app/actions/tools-actions.c
* app/actions/tools-commands.c
* app/actions/vectors-actions.c
* app/core/gimpcontainer-filter.c
* app/core/gimpcontainer.c
* app/core/gimpcontainer.h
* app/core/gimpimage-convert.c
* app/core/gimpimage-flip.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c
* app/core/gimpimage-undo.c
* app/core/gimpimage.c
* app/core/gimpimagefile.c
* app/core/gimplist.c
* app/core/gimpundostack.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/quit-dialog.c
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell-title.c
* app/gui/gui-vtable.c
* app/menus/tool-options-menu.c
* app/tools/gimp-tools.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimpimagepropview.c
* app/widgets/gimpsettingsbox.c
* app/widgets/gimpviewablebutton.c
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c

svn path=/trunk/; revision=27692
2008-11-20 22:45:19 +00:00
Sven Neumann df8bf728a6 app/core/Makefile.am app/core/core-types.h added GimpToolPresets, derived
2006-12-10  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimptoolpresets.[ch]: added GimpToolPresets, derived
	from GimpList.

	* app/core/gimptoolinfo.[ch]: use the new type, renamed
	member "options_presets" to "presets".

	* app/actions/tool-options-actions.c
	* app/actions/tool-options-commands.c
	* app/core/gimptooloptions.[ch]
	* app/menus/tool-options-menu.c
	* app/widgets/gimptooloptionseditor.c: changed accordingly.

	* app/tools/gimp-tools.c: let the GimpToolPresets object deal
with
	loading and saving the presets from ${gimpdir}/tool-options.

	* app/core/gimpcontainer-filter.c
	* app/core/gimpdocumentlist.c
	* app/core/gimplist.c
	* app/text/gimpfontlist.c: use canonical property names.
2006-12-10 19:13:58 +00:00
Sven Neumann 41237259c9 In all files, changed the standard copyright notice to say "GIMP - The GNU
2006-12-09  Sven Neumann  <sven@gimp.org>

        * In all files, changed the standard copyright notice to say
        "GIMP - The GNU Image Manipulation Program".
2006-12-09 21:33:38 +00:00
Sven Neumann 12920b5a17 take const arrays of action entries.
2006-04-10  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpactiongroup.[ch]: take const arrays of action
	entries.

	* app/actions/*-actions.c: declare action arrays as const.
2006-04-10 08:06:18 +00:00
Michael Natterer 4d77057c68 renamed from set_action_important(). Set the "hide-if-empty" property so
2005-09-24  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpactiongroup.c
	(gimp_action_group_set_action_hide_empty): renamed from
	set_action_important(). Set the "hide-if-empty" property so
	showing an insensitive "Empty" item instead of hiding the submenu
	works again (did this ever work?).

	* app/actions/tool-options-actions.c (tool_options_actions_setup):
	changed accordingly. Keeps the tool options submenus from
	disappearing.
2005-09-23 23:41:43 +00:00
Sven Neumann 3b28167dd2 use GTK_STOCK_FILE for File actions.
2005-09-19  Sven Neumann  <sven@gimp.org>

	* app/actions/actions.c: use GTK_STOCK_FILE for File actions.

	* app/actions/dialogs-actions.c
	* plug-ins/gimpressionist/gimpressionist.c
	* plug-ins/print/gimp_main_window.c: use GTK_STOCK_ABOUT for About
	dialogs.

	* app/actions/actions.c
	* app/actions/brushes-actions.c
	* app/actions/channels-actions.c
	* app/actions/channels-commands.c
	* app/actions/colormap-editor-actions.c
	* app/actions/gradients-actions.c
	* app/actions/layers-actions.c
	* app/actions/layers-commands.c
	* app/actions/palette-editor-actions.c
	* app/actions/palettes-actions.c
	* app/actions/patterns-actions.c
	* app/actions/templates-actions.c
	* app/actions/templates-commands.c
	* app/actions/text-editor-actions.c
	* app/actions/tool-options-actions.c
	* app/actions/vectors-actions.c
	* app/actions/vectors-commands.c
	* app/tools/gimptexttool.c
	* app/widgets/gimpcontrollereditor.c
	* app/widgets/gimpcontrollerlist.c
	* plug-ins/flame/flame.c
	* plug-ins/gflare/gflare.c
	* plug-ins/gimpressionist/orientation.c
	* plug-ins/gimpressionist/size.c
	* plug-ins/metadata/interface.c: s/GIMP_STOCK_EDIT/GTK_STOCK_EDIT/
2005-09-19 13:07:24 +00:00
Sven Neumann e7a14aaa71 applied capitalization patches contributed by Stephan Binner. Fixes bug
2005-08-23  Sven Neumann  <sven@gimp.org>

	* [lots of files]: applied capitalization patches contributed by
	Stephan Binner. Fixes bug #309657.
2005-08-23 00:18:08 +00:00
Sven Neumann 2665b357da app/actions/file-actions.c app/actions/plug-in-actions.c removed ellipsis
2005-06-15  Sven Neumann  <sven@gimp.org>

	* app/actions/file-actions.c
	* app/actions/plug-in-actions.c
	* app/actions/tool-options-actions.c: removed ellipsis from commands
	that only present a confirmation dialog.

	* app/actions/file-actions.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpgrideditor.c: capitalization.
2005-06-15 21:38:00 +00:00
Sven Neumann 8b1c3e9ded app/actions/context-actions.c added actions to control the average radius
2005-02-20  Sven Neumann  <sven@gimp.org>

	* app/actions/context-actions.c
	* app/actions/context-commands.c[ch]: added actions to control the
	average radius of color picker tools (bug #167765).

	* app/actions/tool-options-actions.c: fixed a typo in a comment.
2005-02-20 14:19:22 +00:00
Michael Natterer c62967b8f3 don't forget to initialize the "value_variable" boolean of
2004-12-02  Michael Natterer  <mitch@gimp.org>

	* app/actions/tool-options-actions.c
	(tool_options_actions_update_presets): don't forget to initialize
	the "value_variable" boolean of GimpEnumActionEntry. Fixes myriads
	of warnings about wrong values for boolean properties.

	* app/actions/file-actions.c (file_actions_setup): same
	here. Fixes nothing but is cleaner.
2004-12-02 18:29:56 +00:00
Michael Natterer c49df22eef Action code review and pre-release consistency cleanup:
2004-10-18  Michael Natterer  <mitch@gimp.org>

	Action code review and pre-release consistency cleanup:

	* app/actions/*-actions.c: added some missing and resolved
	conflicting mnemonics, added missing help IDs. Cleaned up the
	*_actions_update() functions.

	* app/actions/channels-actions.c
	* app/actions/layers-actions.c
	* app/actions/vectors-actions.c (*_actions_update): simplified
	the code that figures the prev and next channel,layer,vectors.

	* app/actions/qmask-actions.c: use the same accelerator for
	"qmask-active" and "qmask-toggle". Fixed action sensitivity.

	* app/actions/channels-commands.c
	* app/actions/dockable-commands.c
	* app/actions/documents-commands.c
	* app/actions/gradients-commands.c
	* app/actions/layers-commands.c
	* app/actions/palettes-commands.c
	* app/actions/image-commands.c
	* app/actions/select-commands.c
	* app/actions/vectors-commands.c: folded tons of private utility
	functions into their only callers (they used to be public and
	called from outside before the switch to action based menus).
	Renamed functions and variables saying "query" or "qbox" to
	"dialog". Moved static functions to the end of the files. Misc
	minor cleanups.

	* app/actions/drawable-actions.c
	* app/actions/drawable-commands.c: made the "drawable-visible" and
	"drawable-linked" actions affect the layer if the active drawable
	is a layer mask.

	* app/actions/select-commands.c: added action to stroke with the
	last values used in an attempt to address bug #135746 but #if 0'ed
	it because the approach is too ugly.

	* app/tools/gimpiscissorstool.c: changed mnemonic from I to S.

	* menus/image-menu-xml.in: added more stuff to the (commented out)
	"context" menu.
2004-10-18 11:29:58 +00:00
Michael Natterer f4d7260c64 app/actions/channels-actions.c app/actions/colormap-editor-actions.c
2004-10-16  Michael Natterer  <mitch@gimp.org>

	* app/actions/channels-actions.c
	* app/actions/colormap-editor-actions.c
	* app/actions/documents-actions.c
	* app/actions/tool-options-actions.c
	* app/actions/vectors-actions.c: added more tooltips for actions
	which are used as extended dialog button callbacks.

	* app/widgets/gimpeditor.c (gimp_editor_add_action_button): keep
	the list of extended actions in reverse order.

	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimptooloptionseditor.c
	* app/widgets/gimpvectorstreeview.c: don't set the tooltips
	manually. Removes another bunch of insane translatable multiline
	format strings. Pass the extended actions in the right order
	to gimp_editor_add_action_button().
2004-10-16 17:10:04 +00:00
Michael Natterer bd95efd50e added icons to the Save, Load, Rename and Delete submenus.
2004-05-17  Michael Natterer  <mitch@gimp.org>

	* app/actions/tool-options-actions.c: added icons to the Save,
	Load, Rename and Delete submenus.
2004-05-17 12:32:27 +00:00
Michael Natterer 9377b26ebc added help IDs to all actions representing the toplevel popups and menus
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().
2004-05-02 08:56:07 +00:00
Michael Natterer 7d7ef188fa added signal "update" which is G_SIGNAL_RUN_LAST, so handlers can hook in
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.
2004-04-30 15:29:11 +00:00
Michael Natterer 4654280114 Switch from GtkItemFactory to GtkUIManager. The migration is almost
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.
2004-04-29 12:52:29 +00:00
Michael Natterer aae726ee94 app/widgets/Makefile.am app/widgets/widgets-types.h new GtkAction subclass
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.
2004-04-27 13:55:26 +00:00
Michael Natterer 42f79826a9 implemented gimp_action_group_set_action_color() and
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.
2004-04-22 16:16:43 +00:00
Michael Natterer 2c601c7dc3 forgot to register the "patterns" actions.
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.
2004-04-21 16:10:00 +00:00
Michael Natterer 661f6ddeb8 removed...
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.
2004-04-20 13:25:55 +00:00
Michael Natterer 8848558f95 More GtkAction stuff (still unused):
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.
2004-04-19 14:54:24 +00:00