Gimp/app/actions
Jehan bfb5b9f22b app: generalize code for filter action sensitivity.
Remove most of the per-action special-casing. This won't scale, and in
fact it already doesn't work well with all generated actions from GEGL
operations. Considering that any third-party operation will generate an
action too, this just can't work.

Instead we know that:

- Filters on group, vector and link layers must always be run
  non-destructively.
- Non-interactive filters are always run destructively and therefore
  cannot be run on group, vector or link layers.
- GEGL graph as well, unless a specific environment is set.
- All operations with auxiliary inputs cannot be run non-destructively
  (yet) either and therefore must also be deactivated on these layer
  types.

A few more actions are still special-cased (in particular regarding
being used on grayscale drawable or on formats with an alpha channel),
though it would be nice if we could generalize these somehow eventually
too.

(cherry picked from commit 8e2a0381d7)

Cherry-picking NOTE: this commit was edited to remove mentions of link
and vector layers in code. The main logic was kept though as some
effects which should have been deactivated in some cases were still
callable.
2025-09-17 17:26:16 +02:00
..
actions-types.h app: Up/Down in GimpContainerTreeView should select items "visually". 2024-08-13 16:41:21 +02:00
actions.c app: make GimpContainerView behave like a normal widget 2025-09-17 16:40:23 +02:00
actions.h actions: Rename return_if_no_vectors_list macro... 2024-07-17 23:25:48 +00:00
brush-editor-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
brush-editor-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
brushes-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
brushes-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
buffers-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
buffers-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
buffers-commands.c Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
buffers-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
channels-actions.c actions: move top and bottom item check code 2024-07-18 17:57:17 +00:00
channels-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
channels-commands.c Issue #11808: The RGBA channels cannot be duplicated anymore or used with… 2024-09-15 17:14:37 +02:00
channels-commands.h app: get rid of all "*-linked" actions. 2021-12-23 13:39:43 +01:00
colormap-actions.c app: work with a GimpPalette rather than a colormap. 2024-02-11 23:28:03 +01:00
colormap-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
colormap-commands.c app: work with a GimpPalette rather than a colormap. 2024-02-11 23:28:03 +01:00
colormap-commands.h app, menus: Colormap dockable now shows a delete button. 2023-10-09 15:28:20 +02:00
context-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
context-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
context-commands.c app, pdb: rename gimp_container_get_children_type() to get_child_type() 2025-09-17 16:40:22 +02:00
context-commands.h app: new "context-dynamics-toggle" action. 2022-02-04 15:12:00 +01:00
cursor-info-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
cursor-info-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
cursor-info-commands.c app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
cursor-info-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
dashboard-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
dashboard-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
dashboard-commands.c actions: Add timestamp to default performance log filename 2025-01-31 03:46:41 +00:00
dashboard-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
data-commands.c app: rename gimp_data_factory_view_get_children_type() to _get_child_type() 2025-09-17 16:40:22 +02:00
data-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
data-editor-commands.c app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
data-editor-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
debug-actions.c app: make debug menu translatable 2023-07-10 14:58:49 +00:00
debug-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
debug-commands.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
debug-commands.h app, menus: big cleanup of most of GtkUIManager API. 2023-04-12 22:07:09 +02:00
dialogs-actions.c actions, plug-ins: Minor clean-up and warning fix 2024-05-28 16:16:29 +00:00
dialogs-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
dialogs-commands.c app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
dialogs-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
dock-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
dock-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
dock-commands.c app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
dock-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
dockable-actions.c actions: Hide Preview Size dockable option if not needed 2024-04-13 01:43:31 +00:00
dockable-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
dockable-commands.c app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
dockable-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
documents-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
documents-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
documents-commands.c actions: Fix "Raise or Open" to actually raise 2023-06-21 20:10:12 +00:00
documents-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
drawable-actions.c actions: Use layer for lock check when mask is active 2025-09-17 16:40:22 +02:00
drawable-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
drawable-commands.c app: get rid of return_if_no_drawable() macro and… 2022-11-09 01:24:34 +01:00
drawable-commands.h app: get rid of all "*-linked" actions. 2021-12-23 13:39:43 +01:00
dynamics-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
dynamics-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
dynamics-editor-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
dynamics-editor-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
edit-actions.c app: add help ids for Paste as floating data (in place)... 2024-11-01 17:25:27 -04:00
edit-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
edit-commands.c Issue #12729: copy-paste into a path is lost. 2025-01-21 15:15:07 +01:00
edit-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
error-console-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
error-console-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
error-console-commands.c app, libgimpwidgets, plug-ins: add tooltip arg to gimp_help_connect(). 2024-08-24 23:29:39 +02:00
error-console-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
file-actions.c app: add "gint old_index" argument to GimpContainer::reorder() 2025-09-17 16:40:24 +02:00
file-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
file-commands.c app, libgimp, plug-ins: improve GimpVectorLoadProcedure workflow. 2024-06-08 18:58:06 +02:00
file-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
filters-actions.c app: generalize code for filter action sensitivity. 2025-09-17 17:26:16 +02:00
filters-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
filters-commands.c Issue #12576: crash when applying filter from history after an edit. 2024-12-18 13:53:52 +01:00
filters-commands.h core: Initial non-destructive editing implementation 2024-01-23 15:39:09 +00:00
fonts-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
fonts-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpgeglprocedure.c Issue #12825: generate a help ID for any operation with "gimp:menu-path" key. 2025-02-21 22:53:37 +01:00
gimpgeglprocedure.h Issue #12576: crash when applying filter from history after an edit. 2024-12-18 13:53:52 +01:00
gradient-editor-actions.c actions: Load menu colors for Gradient Editor 2024-10-26 03:10:22 +00:00
gradient-editor-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gradient-editor-commands.c app: GimpGradient now uses GeglColor. 2024-02-11 23:28:03 +01:00
gradient-editor-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
gradients-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
gradients-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gradients-commands.c app, libgimpwidgets, plug-ins: add tooltip arg to gimp_help_connect(). 2024-08-24 23:29:39 +02:00
gradients-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
help-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
help-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
help-commands.c app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
help-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
image-actions.c app: better help ids for soft-proofing related Image commands 2025-02-06 11:45:34 -05:00
image-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
image-commands.c Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
image-commands.h core: Add softproof profile to GimpImage 2022-07-02 15:26:19 +02:00
images-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
images-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
images-commands.c Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
images-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
items-actions.c widgets: Port gimp_get_color_tag_color ()... 2024-04-02 04:00:50 +00:00
items-actions.h app: implement multi-selection code for channels and vectors. 2020-05-17 18:32:15 +02:00
items-commands.c app: fix non-properly matching gimp_image_undo_group_start/end() calls. 2023-04-12 22:07:07 +02:00
items-commands.h app: make Stroke Paths actions multi-paths aware. 2023-01-11 01:56:29 +01:00
layers-actions.c app, pdb: a lot of vectors -> path renaming 2025-09-17 16:40:20 +02:00
layers-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
layers-commands.c app, pdb: a lot of vectors -> path renaming 2025-09-17 16:40:20 +02:00
layers-commands.h app, pdb: a lot of vectors -> path renaming 2025-09-17 16:40:20 +02:00
meson.build app, menus: rename the files too. 2024-08-05 12:08:59 +02:00
mypaint-brushes-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
mypaint-brushes-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
palette-editor-actions.c app, libgimp*, plug-ins: GimpColorButton now space-invaded. 2024-02-11 23:28:03 +01:00
palette-editor-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
palette-editor-commands.c actions: Select next palette entry after deletion 2025-09-17 16:40:17 +02:00
palette-editor-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
palettes-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
palettes-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
palettes-commands.c app: make GimpContainerView behave like a normal widget 2025-09-17 16:40:23 +02:00
palettes-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
paths-actions.c app, pdb: a lot of vectors -> path renaming 2025-09-17 16:40:20 +02:00
paths-actions.h app, menus: rename the files too. 2024-08-05 12:08:59 +02:00
paths-commands.c app, pdb: a lot of vectors -> path renaming 2025-09-17 16:40:20 +02:00
paths-commands.h app, pdb: a lot of vectors -> path renaming 2025-09-17 16:40:20 +02:00
patterns-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
patterns-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
plug-in-actions.c app: fix plug-in procedure sensitivity with no image types set. 2025-02-14 19:52:39 +01:00
plug-in-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
plug-in-commands.c app, pdb: rename gimp_container_get_children_type() to get_child_type() 2025-09-17 16:40:22 +02:00
plug-in-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
procedure-commands.c actions: Fix missing argument length check 2025-09-17 16:40:14 +02:00
procedure-commands.h app: get rid of one more usage of get_active_item() abstract method. 2022-10-12 22:38:35 +02:00
quick-mask-actions.c app, libgimp*, plug-ins: GimpColorButton now space-invaded. 2024-02-11 23:28:03 +01:00
quick-mask-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
quick-mask-commands.c app, libgimp, pdb, plug-ins: move more code to GeglColor. 2024-02-11 23:28:02 +01:00
quick-mask-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
sample-points-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
sample-points-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
sample-points-commands.c app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
sample-points-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
select-actions.c Issue #10153: introducing new floating data actions. 2023-11-11 16:40:44 +01:00
select-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
select-commands.c app: lower the upper limit for feather selection 2024-08-18 17:40:02 +00:00
select-commands.h Issue #10153: introducing new floating data actions. 2023-11-11 16:40:44 +01:00
templates-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
templates-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
templates-commands.c app, pdb: rename gimp_container_get_children_type() to get_child_type() 2025-09-17 16:40:22 +02:00
templates-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
text-editor-actions.c Issue #12021: Text editor Open and Clear buttons disabled and without icons. 2024-09-11 15:24:20 +02:00
text-editor-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
text-editor-commands.c app: big porting of weak pointers to g_set,clear_weak_pointer() 2023-05-22 18:16:09 +02:00
text-editor-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
text-tool-actions.c actions: Swapped text actions 2024-07-11 01:17:49 +00:00
text-tool-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
text-tool-commands.c app, pdb: a lot of vectors -> path renaming 2025-09-17 16:40:20 +02:00
text-tool-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
tool-options-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
tool-options-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
tool-options-commands.c app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
tool-options-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
tool-preset-editor-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
tool-preset-editor-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
tool-preset-editor-commands.c app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
tool-preset-editor-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
tool-presets-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
tool-presets-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
tool-presets-commands.c app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
tool-presets-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
tools-actions.c Add terminating NULLs to the tools accelerator arrays 2023-07-20 22:59:51 +01:00
tools-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
tools-commands.c Fix Tools Shortcuts 2023-07-25 21:33:28 +00:00
tools-commands.h tools: auto-activate transform tools on canvas 2022-11-13 17:52:25 +00:00
vector-toolpath-actions.c app, pdb: a lot of vectors -> path renaming 2025-09-17 16:40:20 +02:00
vector-toolpath-actions.h app: Add basic infratructure for a vector tool popup menu. 2020-05-25 22:13:45 +02:00
vector-toolpath-commands.c po: add vector-toolpath-actions.c to POTFILES.in 2020-06-04 01:34:34 +03:00
vector-toolpath-commands.h app, pdb: a lot of vectors -> path renaming 2025-09-17 16:40:20 +02:00
view-actions.c app, pdb: a lot of vectors -> path renaming 2025-09-17 16:40:20 +02:00
view-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
view-commands.c app, pdb: a lot of vectors -> path renaming 2025-09-17 16:40:20 +02:00
view-commands.h app, pdb: a lot of vectors -> path renaming 2025-09-17 16:40:20 +02:00
window-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
window-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
window-commands.c app, plug-ins: mark missing strings as translatable 2023-12-13 17:44:35 +00:00
window-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
windows-actions.c app: add "gint old_index" argument to GimpContainer::reorder() 2025-09-17 16:40:24 +02:00
windows-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
windows-commands.c app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00
windows-commands.h app: GtkAction -> GAction madness part two 2019-07-04 01:11:48 +02:00