Currently krita lets the user generate a selection by right clicking on a layer and press select opaque. This function is great but can be improved. And thanks to the kickstarter stretch goal this would even fit into the selection enhancement stretchgoal. So my suggestion would be. Ctrl+click on the layer thumbnail would generate a layer selection. ctrl+shift+click will add the layer to existing selection and ctrl+alt+click will substract from existing selection. And lastly ctrl+shift+alt+click will create an intersection selection between existing selection and the clicked layer. Reproducible: Always
WISHGROUP: Larger Usability Fixes
Git commit bb92265f455aff3a7d44fad2457f3ebfca6b49e9 by Dmitry Kazakov. Committed on 21/08/2018 at 12:24. Pushed by dkazakov into branch 'master'. Implement different types of Select Opaque action Now we have four different actions: * Select Opaque --- replaces the current selection * Select Opaque (Add) --- adds to the current selection * Select Opaque (Subtract) --- Subtracts from the current selection * Select Opaque (Intersect) --- Intersects with the current selection CC:kimageshop@kde.org M +0 -12 krita/krita.action M +8 -1 krita/krita4.xmlgui M +36 -0 krita/kritamenu.action M +1 -8 plugins/dockers/defaultdockers/kis_layer_box.cpp M +0 -1 plugins/dockers/defaultdockers/kis_layer_box.h M +51 -4 plugins/extensions/colorrange/colorrange.cc M +7 -1 plugins/extensions/colorrange/colorrange.h https://commits.kde.org/krita/bb92265f455aff3a7d44fad2457f3ebfca6b49e9
Git commit 09ce1d040f3ad9f3dc1a2d7185639b06d4c50fb3 by Dmitry Kazakov. Committed on 22/08/2018 at 11:19. Pushed by dkazakov into branch 'master'. Implement Ctrl+click shortcuts for selecting opaque pixels on a layer Now one can click on a layer's thumbnail in the Layers docker to have all the opaque pixels selected. * ctrl+click --- replace selection * ctrl+shift+click --- add selection * ctrl+alt+click --- subtract selection * ctrl+shift+alt+click --- intersect selection CC:kimageshop@kde.org A +18 -0 libs/image/KisSelectionTags.h [License: UNKNOWN] * M +1 -12 libs/image/kis_selection.h M +12 -2 libs/libqml/plugins/kritasketchplugin/models/LayerModel.cpp M +1 -0 libs/ui/CMakeLists.txt M +40 -2 libs/ui/KisNodeDelegate.cpp M +1 -1 libs/ui/KisNodeDelegate.h A +15 -0 libs/ui/KisSelectionActionsAdapter.cpp [License: UNKNOWN] * A +21 -0 libs/ui/KisSelectionActionsAdapter.h [License: UNKNOWN] * M +1 -1 libs/ui/kis_node_filter_proxy_model.cpp M +18 -2 libs/ui/kis_node_model.cpp M +15 -3 libs/ui/kis_node_model.h M +71 -0 libs/ui/kis_selection_manager.cc M +3 -0 libs/ui/kis_selection_manager.h M +2 -2 libs/ui/tests/kis_model_index_converter_test.cpp M +5 -5 libs/ui/tests/kis_node_model_test.cpp M +1 -1 libs/ui/tests/kis_node_view_test.cpp M +12 -2 plugins/dockers/defaultdockers/kis_layer_box.cpp M +2 -0 plugins/dockers/defaultdockers/kis_layer_box.h M +4 -58 plugins/extensions/colorrange/colorrange.cc M +0 -6 plugins/extensions/colorrange/colorrange.h The files marked with a * at the end have a non valid license. Please read: https://community.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page. https://commits.kde.org/krita/09ce1d040f3ad9f3dc1a2d7185639b06d4c50fb3