Review Request 123833: Add basic modifier key support to selection tools.

Michael Abrahams miabraha at gmail.com
Sun May 17 21:36:18 BST 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/123833/
-----------------------------------------------------------

Review request for Calligra.


Repository: calligra


Description
-------

This refactors polygonal, elliptical, and rectangular selection tools to use a basic selection tool template. This overrides any alternate actions, although none of those tools support alternate actions and were already overriding the modifier keys to begin with. 

Shift: add to selection
Alt: subtract from selection
Shift+Alt: intersect current selection
Ctrl: replace selection

Basic functionality is implemented in KisToolSelectBase, which covers the outline, contiguous, similar color and path selection tools which inherit from KisToolSelectBase.  A more complete refactoring might define KisToolSelectBase via the selection tool template, but it is not simple for the path selection tool which uses a more complicated delegated design pattern.


Diffs
-----

  CMakeFiles/2.8.12.1/CMakeDetermineCompilerABI_CXX.bin PRE-CREATION 
  krita/image/kis_selection.h 6376f874 
  krita/plugins/tools/selectiontools/kis_tool_select_elliptical.h 7b2cd2f 
  krita/plugins/tools/selectiontools/kis_tool_select_elliptical.cc 999f1a0 
  krita/plugins/tools/selectiontools/kis_tool_select_path.cc 9f1a65c 
  krita/plugins/tools/selectiontools/kis_tool_select_polygonal.h feee9cb 
  krita/plugins/tools/selectiontools/kis_tool_select_polygonal.cc 9acca50 
  krita/plugins/tools/selectiontools/kis_tool_select_rectangular.h 5e88766 
  krita/plugins/tools/selectiontools/kis_tool_select_rectangular.cc 331c6a4 
  krita/ui/input/kis_alternate_invocation_action.h b47c59e 
  krita/ui/input/kis_alternate_invocation_action.cpp 48723bf 
  krita/ui/tool/kis_selection_action_template.h PRE-CREATION 
  krita/ui/tool/kis_tool_paint.h 48c1f35 
  krita/ui/tool/kis_tool_polyline_base.h f681fd8 
  krita/ui/tool/kis_tool_polyline_base.cpp 6071f76 
  krita/ui/tool/kis_tool_rectangle_base.h a0b470c 
  krita/ui/tool/kis_tool_rectangle_base.cpp 8e091d0 
  krita/ui/tool/kis_tool_select_base.h 500d6dd 
  krita/ui/tool/kis_tool_select_base.cpp 40779ad 

Diff: https://git.reviewboard.kde.org/r/123833/diff/


Testing
-------

There are no tests for the selection tools in particular, but the tests for other individual tools passed.


Thanks,

Michael Abrahams

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20150517/becc926b/attachment.htm>


More information about the calligra-devel mailing list