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




<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Calligra, Dmitry Kazakov and Boudewijn Rempt.</div>
<div>By Arjen Hiemstra.</div>


<p style="color: grey;"><i>Updated July 4, 2013, 3:57 p.m.</i></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</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;">Fix building with unit tests.</pre>
  </td>
 </tr>
</table>




<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;">(Warning: This patch is huge)

This patch makes the canvas input system configurable, as discussed in the original proposal. It supports different profiles, an unlimited amount of shortcuts that can be assigned to the actions and three different types of input to use for shortcuts. (Well, three and a half since there is some support for gestures.)

Some limitations of this code are:

- There is no duplicate checking, so you can assign the same input to multiple shortcuts.
- While the assignment of input to shortcuts is completely free, some actions may not handle certain input.
- The profile editor allows deletion and renaming of profiles but this will currently fail for the default profile(s).
- Deleting, renaming, etc. of the profiles is permanent regardless of whether the user clicked ok/cancel in the preferences dialog.
- Some additional default profiles would be nice.</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;">Build, run, profile editing, changing/removing/adding shortcuts.</pre>
  </td>
 </tr>
</table>




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

 <li>krita/data/CMakeLists.txt <span style="color: grey">(7b73e52)</span></li>

 <li>krita/data/input/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/data/input/kritadefault.profile <span style="color: grey">(PRE-CREATION)</span></li>

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

 <li>krita/ui/dialogs/kis_dlg_preferences.h <span style="color: grey">(ade1912)</span></li>

 <li>krita/ui/dialogs/kis_dlg_preferences.cc <span style="color: grey">(a0bb001)</span></li>

 <li>krita/ui/input/config/kis_action_shortcuts_model.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_action_shortcuts_model.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_edit_profiles_dialog.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_edit_profiles_dialog.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_edit_profiles_dialog.ui <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_input_button.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_input_button.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_input_configuration_page.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_input_configuration_page.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_input_configuration_page.ui <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_input_configuration_page_item.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_input_configuration_page_item.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_input_configuration_page_item.ui <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_input_editor_delegate.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_input_editor_delegate.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_input_mode_delegate.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_input_mode_delegate.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_input_profile_model.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_input_profile_model.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_input_type_delegate.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_input_type_delegate.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_key_input_editor.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_key_input_editor.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_key_input_editor.ui <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_mouse_input_editor.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_mouse_input_editor.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_mouse_input_editor.ui <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_wheel_input_editor.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_wheel_input_editor.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/config/kis_wheel_input_editor.ui <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/kis_abstract_input_action.h <span style="color: grey">(50afffa)</span></li>

 <li>krita/ui/input/kis_abstract_input_action.cpp <span style="color: grey">(093f872)</span></li>

 <li>krita/ui/input/kis_alternate_invocation_action.h <span style="color: grey">(5255ea4)</span></li>

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

 <li>krita/ui/input/kis_change_primary_setting_action.h <span style="color: grey">(0efc167)</span></li>

 <li>krita/ui/input/kis_change_primary_setting_action.cpp <span style="color: grey">(cd7ecd0)</span></li>

 <li>krita/ui/input/kis_input_manager.h <span style="color: grey">(1334e7f)</span></li>

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

 <li>krita/ui/input/kis_input_profile.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/kis_input_profile.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/kis_input_profile_manager.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/kis_input_profile_manager.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/kis_pan_action.h <span style="color: grey">(9944271)</span></li>

 <li>krita/ui/input/kis_pan_action.cpp <span style="color: grey">(a2ca296)</span></li>

 <li>krita/ui/input/kis_rotate_canvas_action.h <span style="color: grey">(30a700f)</span></li>

 <li>krita/ui/input/kis_rotate_canvas_action.cpp <span style="color: grey">(2cc0810)</span></li>

 <li>krita/ui/input/kis_shortcut_configuration.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/kis_shortcut_configuration.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/input/kis_shortcut_matcher.h <span style="color: grey">(3e3e7cc)</span></li>

 <li>krita/ui/input/kis_shortcut_matcher.cpp <span style="color: grey">(0f21108)</span></li>

 <li>krita/ui/input/kis_show_palette_action.h <span style="color: grey">(ebafab3)</span></li>

 <li>krita/ui/input/kis_show_palette_action.cpp <span style="color: grey">(96cfd6b)</span></li>

 <li>krita/ui/input/kis_single_action_shortcut.h <span style="color: grey">(9660947)</span></li>

 <li>krita/ui/input/kis_tool_invocation_action.h <span style="color: grey">(0662c7d)</span></li>

 <li>krita/ui/input/kis_tool_invocation_action.cpp <span style="color: grey">(3159af1)</span></li>

 <li>krita/ui/input/kis_zoom_action.h <span style="color: grey">(f49a3f4)</span></li>

 <li>krita/ui/input/kis_zoom_action.cpp <span style="color: grey">(3d0e96b)</span></li>

 <li>krita/ui/kis_config.h <span style="color: grey">(dace8b7)</span></li>

 <li>krita/ui/kis_config.cc <span style="color: grey">(c6e50da)</span></li>

 <li>krita/ui/kis_view2.cpp <span style="color: grey">(0b9a254)</span></li>

 <li>krita/ui/tests/kis_input_manager_test.cpp <span style="color: grey">(b973f1a)</span></li>

</ul>

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



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments </h1>

<ul>

 <li><a href="http://git.reviewboard.kde.org/media/uploaded/files/2013/07/04/dialog1.png">Configuration Dialog</a></li>

 <li><a href="http://git.reviewboard.kde.org/media/uploaded/files/2013/07/04/dialog2.png">Edit Profiles Dialog</a></li>

</ul>





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




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