Gimp/app
Jehan 5ddb853964 app: globally block editing vector and link layers.
Instead of blocking various drawable-editing tools to work on vector or
link layers, per tool (as in commits 38c379cd92 or 36330a271a), let's
have a more generic logic in GimpTool. We will now block the tool
initialization early when it's destructive and tries to work on link or
vector layers.

By default, all tools are set as being destructive, but we can override
this per-class by setting the class' is_destructive flag. For instance,
text and path tools, or the Zoom or Color picker tools, etc. are
non-destructive.
Filter tools also are non-destructive (they may be destructive, but have
their internal code to disable this path on these types of layers).

Source tools are special-cased because we may allow them to be
initialized on a link/vector layer as sources. For this special-case, I
make a second check on gimp_tool_button_press().
2025-10-08 23:21:59 +02:00
..
actions Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
config Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
core app: fix partial canvas update when hiding or removing filter on… 2025-10-08 01:23:07 +02:00
dialogs app: we also have alias links for RC releases. 2025-10-07 23:34:55 +02:00
display Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
file Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
file-data Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
gegl Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
gui Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
menus Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
operations Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
paint Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
path Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
pdb Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
plug-in Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
propgui Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
tests app, libgimp*, pdb, themes: Fix description typos 2025-09-24 16:50:15 +00:00
text text, libgimpbase: Move text enums 2025-10-08 11:34:57 +00:00
tools app: globally block editing vector and link layers. 2025-10-08 23:21:59 +02:00
widgets Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
xcf Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
about.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
app.c app: localize some strings now that we are out of string freeze. 2025-06-04 23:46:39 +02:00
app.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
errors.c Issue #12789: make sure gimp-debug-tool is correctly found on Windows. 2025-02-24 18:37:58 +01:00
errors.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gimp-debug.c
gimp-debug.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gimp-intl.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gimp-log.c
gimp-log.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gimp-priorities.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gimp-update.c Issue #13553: pop an error dialog up only for specific GIO error. 2025-09-29 20:31:40 +02:00
gimp-update.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gimp-version.c
gimp-version.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gimpconsoleapp.c
gimpconsoleapp.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gimpcore.def path, tools, pdb: UX updates to vector layers 2025-08-17 02:20:19 +00:00
gimpcoreapp.c
gimpcoreapp.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
git-version.h.in app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
language.c app, libgimp*, pdb, themes: Fix description typos 2025-09-24 16:50:15 +00:00
language.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
main.c app, libgimp*, pdb, themes: Fix description typos 2025-09-24 16:50:15 +00:00
meson.build app: rename app/vectors/ to app/path/ 2025-07-07 15:44:15 +02:00
sanity.c meson, app: depend on GEGL-0.4.64 2025-10-03 23:56:36 +02:00
sanity.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
signals.c app: Make possible to append _NT_SYMBOL_PATH 2025-09-09 12:57:46 -03:00
signals.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
unique.c
unique.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00