Bug 299555

Summary: show different cursor when current tool won't work because layer locked / invisible etc.
Product: [Applications] krita Reporter: Tom Hall <tahall256>
Component: UsabilityAssignee: Victor Wåhlström <victor.wahlstrom>
Status: RESOLVED FIXED    
Severity: wishlist CC: halla, victor.wahlstrom
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Tom Hall 2012-05-07 13:50:03 UTC
When the current tool cannot be used because the current layer is locked or invisible, let the user know by changing the cursor shape. e.g. simply add an easily recogniseable  symbol such as the prohibition sign to the current cursor.

At the moment, nothing happens when the user tries to paint on a locked layer. It can take a little while to work out why (Is the opacity zero? Am I set to erase something I haven't drawn yet?, is the brush too small?...).

Reproducible: Always




Would also (more or less) solve bug 299553.
Comment 1 Halla Rempt 2013-03-31 09:22:06 UTC
Right now, we show a message popup when trying to paint on a locked layer. It's not always in the right location, and users might miss it. I'm not sure how easy on the fly cursor modification is going to be.
Comment 2 Victor Wåhlström 2015-05-31 04:32:34 UTC
On the fly updating the cursor isn't hard, but it's very easy to introduce bugs elsewhere. :)

I submitted a patch proposal (in review).
Comment 3 Halla Rempt 2015-05-31 10:52:54 UTC
Thanks for the patch! It's going to need a bit of user testing before I dare to push it out, but it looks sane enough to me.
Comment 4 Victor Wåhlström 2015-06-09 12:41:11 UTC
Git commit ea270cc15914463d445c63ddf85d1fa0f62ec4ea by Victor Wåhlström.
Committed on 09/06/2015 at 12:37.
Pushed by victorw into branch 'calligra/2.9'.

REVIEW:123958

M  +2    -0    krita/plugins/tools/defaulttools/kis_tool_brush.cc
M  +7    -0    krita/plugins/tools/defaulttools/kis_tool_ellipse.cc
M  +3    -0    krita/plugins/tools/defaulttools/kis_tool_ellipse.h
M  +7    -0    krita/plugins/tools/defaulttools/kis_tool_fill.cc
M  +2    -1    krita/plugins/tools/defaulttools/kis_tool_fill.h
M  +7    -0    krita/plugins/tools/defaulttools/kis_tool_gradient.cc
M  +3    -0    krita/plugins/tools/defaulttools/kis_tool_gradient.h
M  +6    -0    krita/plugins/tools/defaulttools/kis_tool_line.cc
M  +3    -0    krita/plugins/tools/defaulttools/kis_tool_line.h
M  +7    -0    krita/plugins/tools/defaulttools/kis_tool_move.cc
M  +3    -0    krita/plugins/tools/defaulttools/kis_tool_move.h
M  +6    -0    krita/plugins/tools/defaulttools/kis_tool_path.cc
M  +3    -0    krita/plugins/tools/defaulttools/kis_tool_path.h
M  +6    -0    krita/plugins/tools/defaulttools/kis_tool_pencil.cc
M  +3    -0    krita/plugins/tools/defaulttools/kis_tool_pencil.h
M  +6    -0    krita/plugins/tools/defaulttools/kis_tool_rectangle.cc
M  +3    -0    krita/plugins/tools/defaulttools/kis_tool_rectangle.h
M  +7    -0    krita/plugins/tools/tool_dyna/kis_tool_dyna.cpp
M  +3    -0    krita/plugins/tools/tool_dyna/kis_tool_dyna.h
M  +6    -0    krita/plugins/tools/tool_polygon/kis_tool_polygon.cc
M  +2    -0    krita/plugins/tools/tool_polygon/kis_tool_polygon.h
M  +6    -0    krita/plugins/tools/tool_polyline/kis_tool_polyline.cc
M  +3    -0    krita/plugins/tools/tool_polyline/kis_tool_polyline.h
M  +11   -11   krita/plugins/tools/tool_transform2/kis_tool_transform.cc
M  +3    -6    krita/plugins/tools/tool_transform2/kis_tool_transform.h
M  +33   -3    krita/ui/tool/kis_tool.cc
M  +11   -1    krita/ui/tool/kis_tool.h
M  +3    -1    krita/ui/tool/kis_tool_paint.cc
M  +0    -1    krita/ui/tool/kis_tool_paint.h

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