Bug 324590

Summary: pick layer functionality
Product: [Applications] krita Reporter: Bollebib <kwadraatnope>
Component: Layer StackAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: wishlist    
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:

Description Bollebib 2013-09-06 14:09:50 UTC
I thought I already reported this but I guess I only talked about it on IRC

Krita needs a pick layer function. It would help when your scene is littered with layers. Even if layers are named correctly it can be a pain to search which one you need.


use: When you hover with your mouse above the canvas and press a (configurable) shortcut, this function should detect which layer is underneath your stylus and select that one immediatly. If it's inside a layer group ,it should open that group as well.

someone told me that the code already exists,in a way,but only for the move tool,I believe.
But it should work as a standalone function,without having to change your selected tool/brush. 

The function should/could maybe ignore locked layers/groups,to be able to ignore non-editable layers. Sometimes you also have a texture on top of everything. Making this function ignore locked layers could help you pick layers without having to hide them.


optional addition: if there is doubt as to which layer you want ,maybe you could get a small dropdownlist that shows thumbnail and name of the different layers to choose from. 



this wish is slightly related to this https://bugs.kde.org/show_bug.cgi?id=31795 
but "pick layer" is for the moment much more important for a quick workflow for large scenes
Comment 1 Dmitry Kazakov 2013-09-18 11:52:09 UTC
Git commit 6314843c4546b48c5b44807c8f8ee3fc4d1ef4b4 by Dmitry Kazakov.
Committed on 18/09/2013 at 11:51.
Pushed by dkazakov into branch 'krita-wraparound-kazakov'.

Implemented the Select Layer by Mouse Click feature

Now you can select a layer by pressing 'R' key and clicking
with mouse cursor. Krita will select the topmost editable layer.

M  +30   -27   krita/data/input/kritadefault.profile
M  +2    -37   krita/plugins/tools/defaulttools/kis_tool_move.cc
M  +2    -1    krita/ui/CMakeLists.txt
M  +3    -0    krita/ui/input/kis_input_profile_manager.cpp
A  +97   -0    krita/ui/input/kis_select_layer_action.cpp     [License: GPL (v2+)]
A  +52   -0    krita/ui/input/kis_select_layer_action.h     [License: GPL (v2+)]
D  +0    -32   krita/ui/tool/kis_color_picker_utils.cpp
M  +1    -1    krita/ui/tool/kis_tool_paint.cc
A  +67   -0    krita/ui/tool/kis_tool_utils.cpp     [License: GPL (v2+)]
R  +11   -5    krita/ui/tool/kis_tool_utils.h [from: krita/ui/tool/kis_color_picker_utils.h - 071% similarity]
M  +1    -1    krita/ui/widgets/kis_scratch_pad.cpp

http://commits.kde.org/calligra/6314843c4546b48c5b44807c8f8ee3fc4d1ef4b4
Comment 2 Dmitry Kazakov 2013-09-18 12:19:54 UTC
Git commit ccd050dc8523277d9d5814062174eb4285d5d4fc by Dmitry Kazakov.
Committed on 18/09/2013 at 11:51.
Pushed by dkazakov into branch 'master'.

Implemented the Select Layer by Mouse Click feature

Now you can select a layer by pressing 'R' key and clicking
with mouse cursor. Krita will select the topmost editable layer.

M  +30   -27   krita/data/input/kritadefault.profile
M  +2    -37   krita/plugins/tools/defaulttools/kis_tool_move.cc
M  +2    -1    krita/ui/CMakeLists.txt
M  +3    -0    krita/ui/input/kis_input_profile_manager.cpp
A  +97   -0    krita/ui/input/kis_select_layer_action.cpp     [License: GPL (v2+)]
A  +52   -0    krita/ui/input/kis_select_layer_action.h     [License: GPL (v2+)]
D  +0    -32   krita/ui/tool/kis_color_picker_utils.cpp
M  +1    -1    krita/ui/tool/kis_tool_paint.cc
A  +67   -0    krita/ui/tool/kis_tool_utils.cpp     [License: GPL (v2+)]
R  +11   -5    krita/ui/tool/kis_tool_utils.h [from: krita/ui/tool/kis_color_picker_utils.h - 071% similarity]
M  +1    -1    krita/ui/widgets/kis_scratch_pad.cpp

http://commits.kde.org/calligra/ccd050dc8523277d9d5814062174eb4285d5d4fc