<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/123833/">https://git.reviewboard.kde.org/r/123833/</a>
     </td>
    </tr>
   </table>
   <br />



 <p>Ship it!</p>



 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ship It!</pre>
 <br />









<p>- Boudewijn Rempt</p>


<br />
<p>On June 20th, 2015, 10:16 p.m. UTC, Michael Abrahams wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for Calligra.</div>
<div>By Michael Abrahams.</div>


<p style="color: grey;"><i>Updated June 20, 2015, 10:16 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
calligra
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This refactors polygonal, elliptical, and rectangular selection tools to use a basic selection tool template which unifies previously duplicated code. The template overrides the ability to execute alternate actions, but none of those tools supported alternate actions previously and the ellipse and rectangle were already overriding the modifier keys to begin with. </p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Shift: add to selection
Alt: subtract from selection
Shift+Alt: intersect current selection
Ctrl: replace selection</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Certain key combinations allow users the ability to expose the modifier keys to the base tool, e.g. to make proportional / translated / scaled alterations using ctrl/alt/shift.
1) Any modifier keys held <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">when the tool is first activated</em> will determine the new selection method.<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
2) If the underlying tool <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">does not take modifier keys</em>, pressing modifier keys in the middle of a stroke will change the selection method.  This applies to the lasso tool and polygon tool. 
3) If the underlying tool <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">takes modifier keys,</em> they will always be forwarded to the underlying tool, and it is not possible to change the selection method in the middle of a stroke.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Things to do in another patch: 
+ The Ctrl key should switch temporarily to the move tool, Ctrl+Alt can be used to force replacing selection.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">There are no tests targeting the individual selection tools, but the tests for other individual tools passed.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">These tools give the ability to add, subtract and intersect complicated shapes quickly. Doing so exposes some bugs in how selection marquees are drawn, particularly disappearing lines.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>CMakeFiles/2.8.12.1/CMakeDetermineCompilerABI_CXX.bin <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/kis_selection.h <span style="color: grey">(6376f874)</span></li>

 <li>krita/plugins/tools/defaulttools/kis_tool_path.h <span style="color: grey">(468aca3)</span></li>

 <li>krita/plugins/tools/defaulttools/kis_tool_path.cc <span style="color: grey">(f05b4eb)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_contiguous.h <span style="color: grey">(a470d82)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_contiguous.cc <span style="color: grey">(5bd4d2f)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_elliptical.h <span style="color: grey">(7b2cd2f)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_elliptical.cc <span style="color: grey">(999f1a0)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_outline.h <span style="color: grey">(4756870)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_outline.cc <span style="color: grey">(46cca47)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_path.h <span style="color: grey">(a67b584)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_path.cc <span style="color: grey">(9f1a65c)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_polygonal.h <span style="color: grey">(feee9cb)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_polygonal.cc <span style="color: grey">(9acca50)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_rectangular.h <span style="color: grey">(5e88766)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_rectangular.cc <span style="color: grey">(331c6a4)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_similar.h <span style="color: grey">(f701986)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_similar.cc <span style="color: grey">(b2c51d9)</span></li>

 <li>krita/ui/CMakeLists.txt <span style="color: grey">(a2a293e)</span></li>

 <li>krita/ui/canvas/kis_tool_proxy.h <span style="color: grey">(dacadd8)</span></li>

 <li>krita/ui/input/kis_alternate_invocation_action.cpp <span style="color: grey">(48723bf)</span></li>

 <li>krita/ui/input/kis_input_manager.cpp <span style="color: grey">(08a056e)</span></li>

 <li>krita/ui/tool/kis_delegated_tool.h <span style="color: grey">(20c690a)</span></li>

 <li>krita/ui/tool/kis_tool.h <span style="color: grey">(b4fe908)</span></li>

 <li>krita/ui/tool/kis_tool.cc <span style="color: grey">(f336241)</span></li>

 <li>krita/ui/tool/kis_tool_paint.h <span style="color: grey">(4c42ef9)</span></li>

 <li>krita/ui/tool/kis_tool_polyline_base.h <span style="color: grey">(f681fd8)</span></li>

 <li>krita/ui/tool/kis_tool_polyline_base.cpp <span style="color: grey">(6071f76)</span></li>

 <li>krita/ui/tool/kis_tool_rectangle_base.h <span style="color: grey">(a0b470c)</span></li>

 <li>krita/ui/tool/kis_tool_rectangle_base.cpp <span style="color: grey">(8e091d0)</span></li>

 <li>krita/ui/tool/kis_tool_select_base.h <span style="color: grey">(500d6dd)</span></li>

 <li>krita/ui/tool/kis_tool_select_base.cpp <span style="color: grey">(40779ad)</span></li>

 <li>libs/basicflakes/tools/KoCreatePathTool.h <span style="color: grey">(ec03ebc)</span></li>

 <li>libs/basicflakes/tools/KoCreatePathTool.cpp <span style="color: grey">(1ababf7)</span></li>

 <li>libs/basicflakes/tools/KoCreatePathTool_p.h <span style="color: grey">(4cf9e0c)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/123833/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>







  </div>
 </body>
</html>