Review Request 111391: Make the canvas input configurable

Arjen Hiemstra djfreestyler at gmail.com
Thu Jul 4 16:57:38 BST 2013


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

(Updated July 4, 2013, 3:57 p.m.)


Review request for Calligra, Dmitry Kazakov and Boudewijn Rempt.


Changes
-------

Fix building with unit tests.


Description
-------

(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.


Diffs (updated)
-----

  krita/data/CMakeLists.txt 7b73e52 
  krita/data/input/CMakeLists.txt PRE-CREATION 
  krita/data/input/kritadefault.profile PRE-CREATION 
  krita/ui/CMakeLists.txt 6040839 
  krita/ui/dialogs/kis_dlg_preferences.h ade1912 
  krita/ui/dialogs/kis_dlg_preferences.cc a0bb001 
  krita/ui/input/config/kis_action_shortcuts_model.h PRE-CREATION 
  krita/ui/input/config/kis_action_shortcuts_model.cpp PRE-CREATION 
  krita/ui/input/config/kis_edit_profiles_dialog.h PRE-CREATION 
  krita/ui/input/config/kis_edit_profiles_dialog.cpp PRE-CREATION 
  krita/ui/input/config/kis_edit_profiles_dialog.ui PRE-CREATION 
  krita/ui/input/config/kis_input_button.h PRE-CREATION 
  krita/ui/input/config/kis_input_button.cpp PRE-CREATION 
  krita/ui/input/config/kis_input_configuration_page.h PRE-CREATION 
  krita/ui/input/config/kis_input_configuration_page.cpp PRE-CREATION 
  krita/ui/input/config/kis_input_configuration_page.ui PRE-CREATION 
  krita/ui/input/config/kis_input_configuration_page_item.h PRE-CREATION 
  krita/ui/input/config/kis_input_configuration_page_item.cpp PRE-CREATION 
  krita/ui/input/config/kis_input_configuration_page_item.ui PRE-CREATION 
  krita/ui/input/config/kis_input_editor_delegate.h PRE-CREATION 
  krita/ui/input/config/kis_input_editor_delegate.cpp PRE-CREATION 
  krita/ui/input/config/kis_input_mode_delegate.h PRE-CREATION 
  krita/ui/input/config/kis_input_mode_delegate.cpp PRE-CREATION 
  krita/ui/input/config/kis_input_profile_model.h PRE-CREATION 
  krita/ui/input/config/kis_input_profile_model.cpp PRE-CREATION 
  krita/ui/input/config/kis_input_type_delegate.h PRE-CREATION 
  krita/ui/input/config/kis_input_type_delegate.cpp PRE-CREATION 
  krita/ui/input/config/kis_key_input_editor.h PRE-CREATION 
  krita/ui/input/config/kis_key_input_editor.cpp PRE-CREATION 
  krita/ui/input/config/kis_key_input_editor.ui PRE-CREATION 
  krita/ui/input/config/kis_mouse_input_editor.h PRE-CREATION 
  krita/ui/input/config/kis_mouse_input_editor.cpp PRE-CREATION 
  krita/ui/input/config/kis_mouse_input_editor.ui PRE-CREATION 
  krita/ui/input/config/kis_wheel_input_editor.h PRE-CREATION 
  krita/ui/input/config/kis_wheel_input_editor.cpp PRE-CREATION 
  krita/ui/input/config/kis_wheel_input_editor.ui PRE-CREATION 
  krita/ui/input/kis_abstract_input_action.h 50afffa 
  krita/ui/input/kis_abstract_input_action.cpp 093f872 
  krita/ui/input/kis_alternate_invocation_action.h 5255ea4 
  krita/ui/input/kis_alternate_invocation_action.cpp c518215 
  krita/ui/input/kis_change_primary_setting_action.h 0efc167 
  krita/ui/input/kis_change_primary_setting_action.cpp cd7ecd0 
  krita/ui/input/kis_input_manager.h 1334e7f 
  krita/ui/input/kis_input_manager.cpp 667fdcf 
  krita/ui/input/kis_input_profile.h PRE-CREATION 
  krita/ui/input/kis_input_profile.cpp PRE-CREATION 
  krita/ui/input/kis_input_profile_manager.h PRE-CREATION 
  krita/ui/input/kis_input_profile_manager.cpp PRE-CREATION 
  krita/ui/input/kis_pan_action.h 9944271 
  krita/ui/input/kis_pan_action.cpp a2ca296 
  krita/ui/input/kis_rotate_canvas_action.h 30a700f 
  krita/ui/input/kis_rotate_canvas_action.cpp 2cc0810 
  krita/ui/input/kis_shortcut_configuration.h PRE-CREATION 
  krita/ui/input/kis_shortcut_configuration.cpp PRE-CREATION 
  krita/ui/input/kis_shortcut_matcher.h 3e3e7cc 
  krita/ui/input/kis_shortcut_matcher.cpp 0f21108 
  krita/ui/input/kis_show_palette_action.h ebafab3 
  krita/ui/input/kis_show_palette_action.cpp 96cfd6b 
  krita/ui/input/kis_single_action_shortcut.h 9660947 
  krita/ui/input/kis_tool_invocation_action.h 0662c7d 
  krita/ui/input/kis_tool_invocation_action.cpp 3159af1 
  krita/ui/input/kis_zoom_action.h f49a3f4 
  krita/ui/input/kis_zoom_action.cpp 3d0e96b 
  krita/ui/kis_config.h dace8b7 
  krita/ui/kis_config.cc c6e50da 
  krita/ui/kis_view2.cpp 0b9a254 
  krita/ui/tests/kis_input_manager_test.cpp b973f1a 

Diff: http://git.reviewboard.kde.org/r/111391/diff/


Testing
-------

Build, run, profile editing, changing/removing/adding shortcuts.


File Attachments
----------------

Configuration Dialog
  http://git.reviewboard.kde.org/media/uploaded/files/2013/07/04/dialog1.png
Edit Profiles Dialog
  http://git.reviewboard.kde.org/media/uploaded/files/2013/07/04/dialog2.png


Thanks,

Arjen Hiemstra

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


More information about the calligra-devel mailing list