gimp/app/paint
Jehan 9a2f5b0709 app: rework and fix the logic for copy-pasting multiple drawables.
There were a lot of incertainty of what should happen when we copy layers being
descendant of each other (i.e. when you select a group layer and some of its
children), then when you paste such data. So we sat down with Aryeom and tried
to come up with some consistent behavior which is somewhat expectable, but also
which would allow the most use-case.

Otherwise it was making very weird result when pasting the data, duplicating
some layers and whatnot, which was obviously a buggy behavior and never the
expected result.

We decided that if you select one leaf item, then even if you also selected a
parent item, it would be as though the parent was not selected. This is very
often what you expect anyway when you select a whole bunch of layers and would
work well if, say, you shift-click over many layers in sub-groups. Then you
wouldn't have to manually ctrl-click to unselect every group.

Then what if you were instead expecting to copy many groups? Then you could
shift-click the group arrow, closing all same-level groups. Once they are all
closed, you can shift-click the groups to only select group layers, not their
contents.

This way, both use cases are still quite doable easily with this default choice.
2022-11-12 18:28:58 +01:00
..
.gitignore enums: add intermediate generated enum files to .gitignore 2017-08-24 15:35:27 -04:00
Makefile.am app, libgimp*: add various stamp files to CLEANFILES. 2022-08-01 23:34:50 +02:00
gimp-paint.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimp-paint.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpairbrush.c app: make painting possibly multi-drawable aware. 2021-09-14 17:59:47 +02:00
gimpairbrush.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpairbrushoptions.c app: increase the maximal airbrush stamp FPS 2020-02-13 18:47:03 +02:00
gimpairbrushoptions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpbrushcore-kernels.h app: small fix in gimpbrushcore-kernels.h 2019-02-06 16:51:01 -05:00
gimpbrushcore-loops.cc app, meson.build: fix a bunch of warnings in C++ files 2019-09-12 20:04:50 +03:00
gimpbrushcore-loops.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpbrushcore.c app: fix brush outline when dynamics is disabled. 2022-03-12 16:43:53 +01:00
gimpbrushcore.h app: make painting possibly multi-drawable aware. 2021-09-14 17:59:47 +02:00
gimpclone.c app: make painting possibly multi-drawable aware. 2021-09-14 17:59:47 +02:00
gimpclone.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcloneoptions.c libgimbase: merge gimpparam.h into gimpparamspecs.h 2019-07-31 10:16:21 +02:00
gimpcloneoptions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpconvolve.c app: fix more broken offset in other tools. 2021-09-14 17:59:47 +02:00
gimpconvolve.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpconvolveoptions.c libgimbase: merge gimpparam.h into gimpparamspecs.h 2019-07-31 10:16:21 +02:00
gimpconvolveoptions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdodgeburn.c app: fix more broken offset in other tools. 2021-09-14 17:59:47 +02:00
gimpdodgeburn.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdodgeburnoptions.c libgimbase: merge gimpparam.h into gimpparamspecs.h 2019-07-31 10:16:21 +02:00
gimpdodgeburnoptions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimperaser.c Issue #3723 - Symmetry Painting with random colour isn't symmetrical 2019-08-02 22:28:59 +03:00
gimperaser.h app: derive GimpEraser from GimpPaintbrush 2019-05-26 14:47:44 -04:00
gimperaseroptions.c libgimbase: merge gimpparam.h into gimpparamspecs.h 2019-07-31 10:16:21 +02:00
gimperaseroptions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpheal.c app: make painting possibly multi-drawable aware. 2021-09-14 17:59:47 +02:00
gimpheal.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpink-blob.c app, libgimp*, pdb, plug-ins: use g_memdup2() instead of g_memdup() 2021-08-26 17:32:09 +02:00
gimpink-blob.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpink.c app: fix more broken offset in other tools. 2021-09-14 17:59:47 +02:00
gimpink.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpinkoptions.c libgimbase: merge gimpparam.h into gimpparamspecs.h 2019-07-31 10:16:21 +02:00
gimpinkoptions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpinkundo.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpinkundo.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpmybrushcore.c app: fixing painting with a selection. 2021-09-14 17:59:47 +02:00
gimpmybrushcore.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpmybrushoptions.c libgimbase: merge gimpparam.h into gimpparamspecs.h 2019-07-31 10:16:21 +02:00
gimpmybrushoptions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpmybrushsurface.c app: fix leaking a GimpMybrushSurface struct. 2021-08-16 22:39:06 +02:00
gimpmybrushsurface.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimppaintbrush.c app: make painting with applicator working in multi-drawable mode. 2021-09-14 17:59:47 +02:00
gimppaintbrush.h Issue #3723 - Symmetry Painting with random colour isn't symmetrical 2019-08-02 22:28:59 +03:00
gimppaintcore-loops.cc app: fix "Luma Lighten/Darken only" layer modes. 2020-11-10 17:25:34 +01:00
gimppaintcore-loops.h app: use MASK_COMPONENTS algorithm in gimp_paint_core_{paste,replace}() 2019-02-16 09:56:30 -05:00
gimppaintcore-stroke.c app: make painting possibly multi-drawable aware. 2021-09-14 17:59:47 +02:00
gimppaintcore-stroke.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimppaintcore.c app: fixing painting with a selection. 2021-09-14 17:59:47 +02:00
gimppaintcore.h app: fixing painting with a selection. 2021-09-14 17:59:47 +02:00
gimppaintcoreundo.c libgimbase: merge gimpparam.h into gimpparamspecs.h 2019-07-31 10:16:21 +02:00
gimppaintcoreundo.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimppaintoptions.c app, libgimp, pdb: new PDB API to enable/disable dynamics. 2022-02-04 13:54:59 +01:00
gimppaintoptions.h app, libgimp, pdb: new PDB API to enable/disable dynamics. 2022-02-04 13:54:59 +01:00
gimppencil.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimppencil.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimppenciloptions.c libgimbase: merge gimpparam.h into gimpparamspecs.h 2019-07-31 10:16:21 +02:00
gimppenciloptions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpperspectiveclone.c app: rework and fix the logic for copy-pasting multiple drawables. 2022-11-12 18:28:58 +01:00
gimpperspectiveclone.h app: make Perspective Clone tool also work with multiple drawables. 2021-09-14 17:59:47 +02:00
gimpperspectivecloneoptions.c libgimbase: merge gimpparam.h into gimpparamspecs.h 2019-07-31 10:16:21 +02:00
gimpperspectivecloneoptions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpsmudge.c app: fix more broken offset in other tools. 2021-09-14 17:59:47 +02:00
gimpsmudge.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpsmudgeoptions.c libgimbase: merge gimpparam.h into gimpparamspecs.h 2019-07-31 10:16:21 +02:00
gimpsmudgeoptions.h Issue #1942 - Smudge Tool with Sample Merged Option 2019-01-20 17:48:04 +01:00
gimpsourcecore.c app: gimp_source_core_set|get_property() are now useless. 2022-02-05 14:25:33 +01:00
gimpsourcecore.h Issue #287: Impossible to stroke a path with the clone tool. 2022-02-04 23:25:38 +01:00
gimpsourceoptions.c app: rework and fix the logic for copy-pasting multiple drawables. 2022-11-12 18:28:58 +01:00
gimpsourceoptions.h Issue #287: Impossible to stroke a path with the clone tool. 2022-02-04 23:25:38 +01:00
meson.build meson: fix warnings of deprecated features. 2022-08-31 01:29:37 +02:00
paint-enums.c app, libgimp*: commit the newly generated *enums.c files. 2022-08-01 20:00:01 +02:00
paint-enums.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
paint-types.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00